sql >> データベース >  >> NoSQL >> MongoDB

mongoengineでリストをクエリします。を含むvs

    通常、内部にある文字列クエリはすべて正規表現クエリであるため、効率が低下します。ただし、例外は参照フィールドに対してテストする場合です。次のクエリは次のとおりです。

    Model.objects.filter(refs__contains="5305c92956c02c3f391fcaba")._query
    {'refs': ObjectId('5305c92956c02c3f391fcaba')}
    

    これは直接検索です。

    Model.objects.filter(refs__in=["5305c92956c02c3f391fcaba"])._query
    {'refs': {'$in': [ObjectId('5305c92956c02c3f391fcaba')]}}
    

    これはおそらく効率が悪いですが、おそらく非常にわずかです。最大の影響は、ドキュメントの数とrefsかどうかです。 フィールドにはインデックスがあります。




    1. MongoDBクエリの結果を内部配列サイズで並べ替えるにはどうすればよいですか?

    2. 配列内の要素を更新する

    3. mongodbのコレクションとは異なるものを見つける

    4. mongodbカテゴリでブール値を返すにはどうすればよいですか