我有一個查詢,在我的節點後端生成 - 如果我註銷並在Mongo shell中運行,那麼一切都很好,但是,如果我使用貓鼬做Model.find(query)
,那麼一些奇怪的屬性重新排序發生並且查詢中斷。貓鼬查詢改變對象順序
討論中的查詢是:
{
"attributes": {
"$all": [
{
"attribute": "an id",
"value": "a value",
"deletedOn": null
},
{
"attribute": "an id again",
"value": "a value",
"deletedOn": null
}
]
}
}
然而,從貓鼬調試輸出爲:
users.find({
attributes: {
'$all': [
{
deletedOn: null,
attribute: 'an id',
value: 'a value'
},
{
deletedOn: null,
attribute: 'an id again',
value: 'a value'
}
]
}
},
{ fields: {} }
)
唯一的變化是deletedOn
場的從最後位置在變速到第一位置物體。這意味着查詢不會返回任何結果。
有沒有解決這個問題的方法?
http://mongoosejs.com/docs/guide.html#retainKeyOrder(雖然我不知道是否會在'$ all'工作)。 – robertklep