1
我将尝试使用示例数据进行解释。用户可以进行任意数量的评论,但我只想回复评论者的最新评论。查找所有文档,但是如果某些文档具有相同的值,请获取最新的文档
{
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()应当与ID 1和ID 3.返回文档因为只有一个由John制作和一个id为3是由萨姆成为最后一个。
是否有这样的查询?
我的实际项目比较难,因为我没有name
我有userId
和anonId
。这些字段的值是对象ID。最复杂的部分是文档不包含两者。它包含一个userId
或anonId
所以我想我会需要一个或条件也许。 anonId或userId
也许你可以给我关于此的想法。
编辑:
我的实际数据看起来更像是这样的。它更复杂。
{
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个字段/路径。我应该第一个为他们所有人 –
我已经更新了你的真实用例(使用'userId'和'anonId')并且使用'$$ ROOT'作为嵌套文档来照顾你所有的字段 –
我认为这个使得填充'userId'' anonId'字段更加困难。我可以在此之后填充吗?感谢您的回答。 –