0

次のドキュメントがあるとします。

{
  title: 'Some title',
  items: [1,5,9,4]
}

{
  title: 'Some title',
  items: [5,7]
}

{
   title: 'Some title',
   items: [1,2]
}

項目が 5 のドキュメントを取得する必要があるため、マングースで次のクエリを作成します。

Model.find({items: {$in: [5]}}, function (err, docs) {
   // docs.length == 2
});

そして、私はそれを手に入れています。しかし、次のクエリを作成すると、同じ結果が得られることがわかりました。

Model.find({items: 5}, function (err, docs){
   // docs.length == 2
});

私の場合、ドキュメントを見つけるために2番目のアプローチを使用するのは正しいですか?

4

1 に答える 1

2

一連の値のいずれかを含む$inドキュメントを検索する場合に使用します。特定の値を含むitemsドキュメントが必要な場合は、 のような単純なクエリ オブジェクトを使用します。items{items: 5}

あなたが見つけたように$in、単一の値と照合するために使用できますが、それはより自然に次のように表現されますModel.find({items: 5}, ...);

于 2012-10-19T19:17:10.127 に答える