我正在爲mongodb查詢返回相同的文檔(具有相同的_id)。在mongodb查詢中返回相同的文檔
db.getCollection('my-collection').find({ "my_key" : "my_value" }, { _id : 1}).toArray()
回報:
[
{
"_id" : ObjectId("57d8ea76cee3c6d2299890f2")
},
{
"_id" : ObjectId("57d7975b5981a0a5f27e260c")
},
{
"_id" : ObjectId("57d8ea76cee3c6d2299890f2")
}
]
我試圖找出原因,因爲它打亂了我們的一些腳本的結果,但找不到原因,還是這個網上的任何提及。
我們目前的猜測是它與分割集合和shard migrations
有關,但是如果是這種情況,我會預料到這是一個短暫的問題,並且此查詢現在返回相同的文檔。
注:
- 行爲都是相同的清晰度加入帶或不帶
toArray()
Projection
只,不使用projection
- 當我們有4個相同的完整的文檔出現在結果
shards
,每臺運行3臺服務器(主備,備份)
看看這個http://stackoverflow.com/a/11243718/5937767 – algor
謝謝,但分片鍵是_id,並且是唯一的,所以我仍然沒有得到它 – marmor