こんにちは、配列数が2より小さいすべてのコレクションをmongodbのfeatures
配列内に戻したいとします。私は$size
を使ってみましたが、それはできません。配列要素内のカウント・キー
結果を取得し、それぞれfeatures
をループしてカウントしたくないです。私はproductId 123
を返します。なぜなら、フィーチャーアレイの1つに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"シェル "が本当に古く、ES6の構文を理解していない場合。以前の "server"リリースのより現代的なシェルを使用することには何も問題ありません。しかし、あなたは '$ where'引数を' return this.features.some(function(f){return Object.keys(f).length <2}) 'に変更することもできます。 –
これ以上のあなたのコメントで'ys(f).length <2}'の近くでオブジェクト以外のオブジェクトで呼び出されたエラーObject.keysを返します。 – KristCont