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

配列サイズが1より大きいドキュメントをクエリします

    クエリオブジェクトキーで数値配列インデックス(0ベース)を使用できるようになったため、MongoDB2.2以降でこれを行うためのより効率的な方法があります。

    // Find all docs that have at least two name array elements.
    db.accommodations.find({'name.1': {$exists: true}})
    

    部分フィルター式を使用するインデックスでこのクエリをサポートできます(3.2以降が必要):

    // index for at least two name array elements
    db.accommodations.createIndex(
        {'name.1': 1},
        {partialFilterExpression: {'name.1': {$exists: true}}}
    );
    


    1. MongoDBは明確な値をカウントしますか?

    2. MongoDBで異なるフィールドの重みを持つテキストインデックスを作成する

    3. MongoObjectIdをシリアル化するときにJSON.NETキャストエラー

    4. MongoDBで未使用のインデックスを見つける方法は?