27

リンゴが入っているスムージーをクエリするにはどうすればよいですか?(以下は3つのドキュメントのコレクションです)

_id => 1
name => 'best smoothie' 
ingredients => Array
    (
        [0] => apple
        [1] => raspberry
        [2] => orange
        [3] => banana
    )
_id => 2
name => 'summer smoothie' 
ingredients => Array
    (
        [0] => lemon
        [1] => mint

    )
_id => 3
name => 'yogurt smoothie' 
ingredients => Array
    (
        [0] => apple
        [1] => blueberry

    )
4

3 に答える 3

47

以下のクエリを単純に実行すると、MongoDB は何をしようとしているのかを理解するのに十分スマートです。

{ ingredients: "apple" }

Mongo は、食材がリストであることを認識し、そのリストのどこかに「リンゴ」を含むドキュメントのみを返します。

于 2010-07-22T12:42:10.087 に答える
-2

ドキュメントから:

注: 1 つの項目のみが一致する場合、配列を含むフィールドは条件演算子に一致します。

したがって、次のクエリ:

db.collection.find( { field: { $gt:0, $lt:2 } } );

次のフィールドを含むドキュメントに一致します。

{ field: [-1,3] }

于 2013-01-24T09:27:26.147 に答える
-6

人々がスムージー用のスケーラブルなアプリケーションを作成するのはなぜですか?

db.find({"材料":{$in: "りんご"}});

于 2011-05-06T15:38:34.737 に答える