Google
вот так тоже не работает
Google
есть г-дето пример ?
Viktar
{docId:id, docSendId:"40..."}
Viktar
Сортировка - это когда вам надо по возрастанию или убыванию
Google
Так получаю пустой массив
Viktar
Вывести документы, в вашем случае сортировка вам не нужна
Viktar
ТАК ?
Так.
Viktar
Так получаю пустой массив
Значит у вас нет такого документа с нужным ид
Google
он находит каторый на второй ID совпадаюший ид
Viktar
Покажите ваш документ
Google
первый должен docId если первый нашло что-то потом должен сортировать по docSendId
Google
у меня сейчас если первый не подходит он по второй находит и выводи его
Viktar
https://docs.mongodb.com/manual/reference/method/db.collection.find/
Viktar
statusDocument.find($and:[docId: id, docSendId:'40..'}).sort({docSendId:1})
Google
{docId:id, docSendId:"40..."}
этот вариант сработало
Google
find лучше или findOne ?
Viktar
ищет документы под условие в фильтре и сортирует по возрастанию
Viktar
Смотря что вам надо. ФайнОне вернёт первый документ. Файд вернёт курсор со всеми документами.
Viktar
В файдоне вы не отсортируете. Поскольку один документ не сортируется)
Google
получается findOne kexit
Viktar
https://docs.mongodb.com/manual/reference/method/db.collection.findOne/
Viktar
получается findOne kexit
не факт, если вы уверены в уникальности по этим полям, то да. Если уникальности нет, то вернёт первый
Viktar
кстати в моём примере сортировка не имеет смысла
Google
statusDocument.find($and:[docId: id, docSendId:'40..'}).sort({docSendId:1}) этот ?
Viktar
statusDocument.find($and:[docId: id, docSendId:'40..'})
Google
Viktar
вы ищете по чёткому вхождению, и просто сортировка бесмысленна. поэтому без сортировки будет тот же результат, а сортировка одна из труднозатратных операций для баз
Viktar
а насчёт find и findOne - зависит от вашей задачи. Если вы не ожидаете несколько документов то findOne, если ожидаете - find
Google
👍💯
Jamshidjon
questions = questions_model.aggregate([{$sample: { size: 2 }}]) Не получается получить документы, ниже оаутпут Aggregate { _pipeline: [ { '$sample': [Object] } ], _model: Model { questions }, options: {} }
Jamshidjon
Помогите пожалуйста
Jamshidjon
Can someone answer, why I got this output?
Jamshidjon
Jamshidjon
I can't get it, how I'm supposed to use aggregate function? Пожалуйста помогите
Jamshidjon
вместо документов из дб получаю сам обьект дб
Jamshidjon
ребят?
Jamshidjon
просто подсказку хотя бы
Nick
Can someone answer, why I got this output?
so you need to execute it by using await or by setup callback or .then() of promises
Jamshidjon
Jamshidjon
filter is not working
Nick
filter is not working
you see in log some docs with no 'EASY' level?
Nick
show example
Jamshidjon
Jamshidjon
It returns just all questions i guess
Jamshidjon
Viktar
filter is not working
Filter should be first
Jamshidjon
Jamshidjon
yes, you are right. big thanks 👌🏻
Jamshidjon
but why it must be in this order? i supposed that it reads all configs and then fetchs
Nick
Filter should be first
it doesn't matter, $match should filter at any stage
Jamshidjon
how I'm supposed to be sure that the results are unique? off docum says it's not unique output
Jamshidjon
stackoverflow shows that i can use this, but where i'm supposed to get randomdocs? i didn't get it
Viktar
it doesn't matter, $match should filter at any stage
You are right, but there is no records in sample for this filter. So you need filter records first and take random ten from filtered.
Nick
how I'm supposed to be sure that the results are unique? off docum says it's not unique output
add $group stage with_id as you uniq id and $first or $last operators to get doc body ($$ROOT variable like in https://docs.mongodb.com/manual/reference/operator/aggregation/group/#group-documents-by-author)
Jamshidjon
like this one?
Jamshidjon
grouping by _id and pushing
Anonymous
как я могу удалить весь массив в документе? await User.updateOne({_id: userId}, { $pull: });
Anonymous
что дальше?
Mikhail
({_id: userId}, { $set: {"field": []} })
Mikhail
если $pull то вероятно с { } и multi update( { }, { $pull: { }, { multi: true } )
Anonymous
ааа
Anonymous
а он тогда не все затрет?
Anonymous
типоо мне же одно поле надо
Anonymous
или $pull: {field: {}}
Viktar
Можно $unset если массив в рутовом поле
Anonymous
что значит в рутовом?
Lid Force
типоо мне же одно поле надо
так используй $set: {"field": [] }, он тебе весь указанный массив пустым сделает
Anonymous
да я сделал, спасибо
Viktar
если вам надо удалить массив в документе типа {_id:xxxx, field:[element1, element2] }