Постараюсь объяснить данные образца. Пользователь может делать любые отзывы, но я хочу только вернуть последний отзыв.Найти все документы, но если некоторые документы имеют одинаковое значение, получите последнюю версию
{
id : 1
name : "John",
review : "only one review"
dateCreated : 2017-02-23 02:35:11.420Z
}
{
id : 3
name : "Sam"
review : "second entered"
dateCreated : 2017-02-23 02:41:42.300Z
}
{
id : 2
name : "Sam",
review : "fist enterd"
dateCreated : 2017-02-23 02:36:32.150Z
}
.find() должен возвращать документы с идентификатором 1 и идентификатором 3. Поскольку существует только один из Иоанна и один с идентификатором 3 был последним из Сэм.
Есть ли запрос на это?
Мой фактический проект сложнее, потому что вместо name
У меня есть userId
и anonId
. Эти поля имеют значения, которые являются объектами Ids. и самая сложная часть состоит в том, что документ не содержит обоих. Либо он содержит userId
, либо anonId
Так что, я думаю, мне понадобится условие или состояние. anonId или userId
Возможно, вы тоже можете дать мне представление об этом.
EDIT:
мой фактические данные больше похоже на это. Это сложнее.
{
anonId : ObjectId("58ae4f934a7d2b2490e8f99c")
review : review made by an anoymous user
dateCreated : 2017-02-23 02:35:11.420Z
}
{
anonId : ObjectId("58ae4f934a7d2b2490e8f99c")
review : second review made by anonymous user
dateCreated : 2017-02-23 05:35:11.420Z
}
{
userId : ObjectId("58ae4a5f4a7d2b2490e8f996")
review : first review made by authenticated user
dateCreated : 2017-02-22 05:35:11.420Z
}
{
userId : ObjectId("58ae4a5f4a7d2b2490e8f996")
review : second review made by authenticated user
dateCreated : 2017-02-25 05:35:11.420Z
}
{
userId : ObjectId("58ae5fc7a467cf23947833c8")
review : This will be returened because no other review has this userID
dateCreated : 2017-02-25 05:35:11.420Z
}
хорошо говорит, что у меня 20 полей/дорожек. Я должен получить первый из них для всех из них –
Я обновил ваш реальный usecase (с 'userId' и' anonId') и используя '$$ ROOT' в качестве вложенного документа для ухода за всеми вашими полями –
Я думаю, что это затрудняет заполнение полей 'userId'' anonId'. я могу заполнить после этого? Спасибо за Ваш ответ. –