Google
Спасибо помогло
Joe
Тебе надо юзерайди И телеграмАйди, или все таки 1 из 2 хотя бы?
Google
тут почитал там было пример два OR
Google
1 из 2 хотя бы? этот
Joe
Спасибо помогло
Эм) я думал ты уже попробовал)
Joe
1 из 2 хотя бы? этот
Ну вот что, что ты попробовал для этого
Google
👍
Max
Как условия из populate вставить в aggregate?
Eva🇺🇦
Привет! Возможно было у кого: монгус ругается на значение true поля индекса. Я попробовал разные варианты: 'true', 1 и т.п. — ничего не помогло
Eva🇺🇦
Sergiy
то есть через mongoose.types?
ну, он там почти "русским" языком вам пишет...
Eva🇺🇦
Подозреваю хочет true с маленькой буквы
Посмотрите, пожалуйста, на код выше ошибки. Я указываю вот так: index: true
Eva🇺🇦
ну, он там почти "русским" языком вам пишет...
Да, я понимаю) Я посмотрел типы, которые монгус поддерживает, и true там есть..
Sergiy
нету
Sergiy
true - это значение
Cloud
мб булеан?
Sergiy
Boolean Booleans in Mongoose are plain JavaScript booleans. By default, Mongoose casts the below values to true: true 'true' 1 '1' 'yes' https://mongoosejs.com/docs/schematypes.html#booleans
Sergiy
Cпасибо!
гуглу передавайте. я ни при чем :)
Viktar
Посмотрите, пожалуйста, на код выше ошибки. Я указываю вот так: index: true
Действительно. В описании схемы надо тип указать boolean, а не значение
Joe
гуглу передавайте. я ни при чем :)
Я не при делах, сами с гуглом выясняйте отношения (С) )))
Sergiy
Я не при делах, сами с гуглом выясняйте отношения (С) )))
ну, просто я пока монги в глаза не видел :) просто на скрине четко описана причина ну, спросил у гугла. он шарит, ответил, таки да, тип там надо, а не значение указывать
Joe
ну, просто я пока монги в глаза не видел :) просто на скрине четко описана причина ну, спросил у гугла. он шарит, ответил, таки да, тип там надо, а не значение указывать
Ахаха) Монга вещь веселая. Начиная от пэт проектов на скорую руку, заканчиваю продакшн-рэди, схемафулл связями, репликацией и нагрузкой в лярд+ записей. Просто чутка быстрее старт нежело в скл и более низкий порог входа, а если знаешь json statham, то вообще полюбишь)
Joe
https://images.app.goo.gl/45aDsqFfoab67yAT9
Joe
та про это наслышан. как возьмут - а потом давай ее как РСУБД мучить :)
Тоже не исключено) все таки у монги тоже есть ограничения, вот и порой сидишь в своей носкл, а 1:н м:н связи 1в1 как в рсубд))
Anton 🇷🇺
Привет, может кто-то подсказать по использованию upsert? Есть объект с полями {name: "a", num_field: 4} Необходимо сделать такой запрос, что: 1) Если в базе нет записи с name "a", то ее надо создать 2) Если в базе есть запись с таким name, то ее нужно обновить только в случае, если num_field больше текущего значения db.test_db.updateOne( {$and: [{name: "a"}, {num_field: {$lt: 4}}]}, {$set: {name: "a", num_field: 4)}}, {upsert: true} ) Этот запрос, сработает только в случае, если записи с name: "a" еще нет или num_field меньше 4. Если num_field больше или равен 4, то он создаст еще одну запись. Есть какие-то варианты решения?
nlife
Всем привет как взять url с mongoDB если баз данных запущенна у меня в MongoDB compass локально ?
Roman
Кто может объяснить, что делает параметр allowDiskUse в монгусе?
Viktar
Кто может объяснить, что делает параметр allowDiskUse в монгусе?
allowDiskUse() allows MongoDB to use temporary files on disk to store data exceeding the 100 megabyte system memory limit while processing a blocking sort operation. If MongoDB requires using more than 100 megabytes of system memory for the blocking sort operation, MongoDB returns an error unless the query specifies
Nikita
пожалуйста, помогите мне, как обновить в таком объекте { _id: 1, name: Цветок pixel: [ { id: 1, check: false }, { id: 2, check: false }, { id: 3, check: false }, { id: 4, check: false }, { id: 5, check: false } ] }, обновить значение в pixel: id: 2 check: true
R-lion
ребят нужна помощь я использую node и mongodb пользователь может ввести имя и фамилию но в базе расположение имени и фамилии могут быть по разному с начало фамилия и имя. Как мне collection.findOne({name}); переписать функцию так чтоб не зависимо как написал пользователь имя и фамилию чтоб базе нашлось совпадение ?
R-lion
Да я понял о чем ты
R-lion
но поле для ввода имени и фамилии объединена в один input
Михаил
но поле для ввода имени и фамилии объединена в один input
Ну ты это, input.split(' ') и первый элемент имя, второе фамилия
R-lion
Да я так и сделал
R-lion
Но человек может ввести не так как мне хотелось бы
R-lion
есть варианты еще ?
R-lion
сейчас попробую
R-lion
не помогло
R-lion
как регулярку туда запихнуть ?
Eva🇺🇦
есть варианты еще ?
Я бы сделал так: в базе хранишь имя и фамилию в разных полях, например, first и last. Если тебе нужно возвращать их вместе, можно создать виртуальное поле name — оно будет состоять из first + last. дальше можно использовать для поиска $search — он делит строку, которую передаёт пользователь, по логическим делителям (типа подставляет OR вместо пробелов и т.п.) User.find( { $text: { $search: keywords } })
R-lion
ааа
R-lion
как мне сделать виртуальное поле name
R-lion
сам ручками или ест функция ?
Eva🇺🇦
как мне сделать виртуальное поле name
Блин, это в монгусе только есть, походу: https://mongoosejs.com/docs/guide.html#virtuals Хотя логично, что что-то подобное и в чистой монге должно быть
R-lion
А есть типо или
R-lion
collection.findOne({ name:{name || surname});
R-lion
типо этого ахахаха
Eva🇺🇦
Но если тебе только поиск нужен, то тебе виртуальное поле не нужно. В документе имя и фамилию юзера храни в разных полях. Дальше создай текстовый индекс по полям имя и фамилия: https://docs.mongodb.com/manual/text-search/ https://docs.mongodb.com/manual/core/index-text/ После этого у тебя будет работать поиск по этой команде: User.find( { $text: { $search: "Антон Шевченко" } } ) или User.find( { $text: { $search: "Шевченко Антон" } } )
Eva🇺🇦
Нет) Не логично0
А views так могут, наверное либо Aggregation Pipeline
Михаил
А views так могут, наверное либо Aggregation Pipeline
Это все равно немного не тоже самое)
R-lion
UnhandledPromiseRejectionWarning: MongoServerError: Unknown index plugin 'username'
R-lion
при создании индекса ошибка
R-lion
collection.createIndex({name:"username", surname:"username"});
R-lion
пока база даже не сформирована я могу сначала создать index а потом уже данные записывать ?
R-lion
или полей если нет name surname ему не куда эти index присваивать хоть мы их не видим
R-lion
mongodb
R-lion
пакет
R-lion
npm
Eva🇺🇦
Не знаю что это)))
Михаил
Не знаю что это)))
Стандартный драйвер для ноды
Eva🇺🇦
collection.createIndex({name:"username", surname:"username"});
Но у тебя синтаксис неправильный) collection.createIndex({name:"text", surname:"text"}); где name и surname это твои поля, а "text" это типа маркер, что это текстовый индекс для поиска
R-lion
text это ключевое слово?
Eva🇺🇦
Да
Eva🇺🇦
Чекни доку, что я кинул. Там примеры хорошие
R-lion
я изменил на text ошибки нет. Но ни чего не находит странные объект приходит
R-lion
collection.createIndex({name:"text", surname:"text"}); const result = collection.find({$text:{ $search: data.name }});
Eva🇺🇦
ну надо же подождать, используй await
R-lion
сейчас попробую
R-lion
все так же
Eva🇺🇦
Скриншот?