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

配列内の複数のObjectIDについてMongoDBをクエリします

    mongodbの findOne() および find() カーソルメソッドとネイティブJavaScript map 最初に特定のユーザー(文字列配列になります)のチームIDを取得し、次にmap関数を使用してチームの文字列IDの配列をObjectIdの配列にマップし、最後に結果の配列をチームコレクションとしてクエリします。 $in 演算子式:

    var teams = db.users.findOne({"name": "User1"}).teams;
    var obj_ids = teams.map(function (item){ return ObjectId(item)});
    db.teams.find({ "_id": { "$in": obj_ids } });
    

    出力

    /* 0 */
    {
        "_id" : ObjectId("5527a9493ebbe2452666c238"),
        "name" : "Team 1"
    }
    
    /* 1 */
    {
        "_id" : ObjectId("5527b1be3371e3a827fa602c"),
        "name" : "Team 2"
    }
    



    1. $matchが見つからない場合の$addFields

    2. マングースのcreatedAtプロパティを更新できませんか?

    3. 共有フォルダーでMongoを実行しているBoot2Docker(Windowsの場合)(このファイルシステムはサポートされていません)

    4. 名前の衝突を避けるためにredisでキーに名前空間を付ける方法は?