2

{"foo": "a"}ではなく、を使用してドキュメントをクエリしてい{"foo":["a", "b"]}ます。

mongodbで正確なクエリを作成するにはどうすればよいですか?

4

1 に答える 1

2

両方の場合にフィールドのが文字列として報告される原因となる問題SERVER-1475のため、これは驚くほど困難です。$typefoo

回避策の1つは、配列要素の存在をテストして、配列のケースを検出する(そして結果から除外する)ことです。

db.test.find({$and: [{'foo.0': {$exists: false}}, {foo: 'a'}]})
于 2013-01-29T21:24:16.510 に答える