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

MongoDBで可能なクエリ

    $andを使用します :

    db.getCollection('collection_name').find({
    $and: [{
      TitleData: {
        $elemMatch: {
          UserId: ObjectId("57a87f5cc48933119cb96f9b"),
          UserId: ObjectId("57a87f5cc48933119cb96fa7")
        }
      }
    }, {
      TitleData: {
        $elemMatch: {
          $ne: {
            "Res": 2
          }
        }
      }
    }]
    }));
    

    コレクションオブジェクトを使用してコンソールからの出力をテストします:

    > db.collection.find({ $and: [{     TitleData: {       $elemMatch: {         UserId: ObjectId("57a87f5cc48933119cb96f9b"),          UserId: ObjectId("57a87f5cc48933119cb96fa7")       }     }   },{ TitleData: { $elemMatch: { $ne: { "Res": 2 } } }}]});
    { "_id" : ObjectId("57a8a6c3c48933256cfd8368"), "Title" : "T1", "TitleData" : [     {   "UserId" : ObjectId("57a87f5cc48933119cb96f9b"),    "Res" : 2 },    {   "UserId" : ObjectId("57a87f5cc48933119cb96fa7"),    "Res" : 2 },    {   "UserId" : ObjectId("57a87f5cc48933119cb96f96"),    "Res" : 2 },    {   "UserId" : ObjectId("57a87f5cc48933119cb96f9c"),    "Res" : 2 },    {   "UserId" : ObjectId("57a87f5cc48933119cb96f9d"),    "Res" : 0 } ] }
    

    編集 すべてのコンソール出力を追加しませんでした...




    1. MongoDBビューへの変数の受け渡し

    2. mongodbaggregateが$lookupにインデックスを使用しない場合、インデックスを使用するとパフォーマンスが向上するのはなぜですか?

    3. データベースコマンドを使用して配列内のフィールドの名前を変更するにはどうすればよいですか?

    4. パフォーマンスを再実行し、jsonオブジェクトを文字列として保存します