我有一個chats
集合巫婆樣本文檔MongoDB的父文檔的搜索結果的基礎上,選擇子文件
{
"_id" : ObjectId("57f95e8e385bb61c5cf2cd18"),
//some other fields
"messages" : [
{
"sender" : "57ec1aaa0ffe16123439d52b",
"message" : "Hello!",
"sentTime" : "Oct 13, 2016 1:51:31 AM"
},
{
"sender" : "57ec1aaa0ffe16123439d52b",
"message" : "Hello!",
"sentTime" : "Oct 13, 2016 1:51:33 AM"
}
]
}
我想搜索_id
場的基礎上,收集和只得到的數據messages sub-document
作爲使用MongoDB的java驅動程序的查詢結果,因爲我想使用Gson映射到POJO數組。
所需的輸出:
[
{
"sender" : "57ec1aaa0ffe16123439d52b",
"message" : "Hello!",
"sentTime" : "Oct 13, 2016 1:51:31 AM"
},
{
"sender" : "57ec1aaa0ffe16123439d52b",
"message" : "Hello!",
"sentTime" : "Oct 13, 2016 1:51:33 AM"
}
]
我如何去與這個使用Java驅動程序MongoDB的
這是行不通的。它提供了一個帶有id字段和消息字段的文檔。輸出與我在問題中給出的第一個json相同,除了所有其他字段。但我需要它只是像我在問題中發佈的第二個json那樣的子文檔數組。謝謝 – kritya
不可能只獲得一個子文檔部分。我們可以指定像「messages.sender」這樣的字段,但不能直接獲取該部分。此外,您不能同時指定包含和排除字段,並且無論如何我們都會返回ID。所以這是儘可能接近我們可以得到的。 –
那麼我可以根據可以說發送時間來排序消息數組嗎? – kritya