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'字段更加困難。我可以在此之後填充嗎?感謝您的回答。 –