嗨我想返回在MongoDB中的features
數組內數組數小於2的所有集合。我嘗試使用$size
,但這是不可能的。在數組元素中計數鍵
我不想得到結果並循環每個features
並將其計數。我想返回productId 123
,因爲它在要素數組之一中的計數爲1。請以下面的文檔爲例:
{
"productId" : 123.0,
"features" : [
{
"a" : true
},
{
"a" : true,
"b" : true
}
]
},
{
"productId" : 456.0,
"features" : [
{
"a" : true,
"b" : true
},
{
"a" : true,
"b" : true
}
]
}
謝謝你的答案,但我不能得到它的工作,因爲我的MongodDb版本是2.6.12。我嘗試了JavaScript,但它有一個符號'>' – KristCont
@KristCont有關的錯誤如果你的「shell」真的很古老,那麼它不理解ES6語法。在較舊的「服務器」版本中使用更現代的外殼沒有任何問題。但你也可以將'$ where'參數改爲'return this.features.some(function(f){return Object.keys(f).length <2})' –
我試過了你對上面的評論所說的話但是它返回錯誤'Object.keys在'ys(f).length <2}'附近的非對象上調用。 – KristCont