programing

MongoDb ID 배열을 사용하여 여러 문서를 가져오려면 어떻게 해야 합니까?

goodjava 2023. 3. 11. 08:57

MongoDb ID 배열을 사용하여 여러 문서를 가져오려면 어떻게 해야 합니까?

아이디 배열이 있는데 한 번에 모든 서류를 받고 싶어요.그래서 나는 쓰고 있지만 그것은 0개의 레코드를 반환한다.

여러 ID를 사용하여 검색하려면 어떻게 해야 합니까?

db.getCollection('feed').find({"_id" : { "$in" : [  
"55880c251df42d0466919268","55bf528e69b70ae79be35006" ]}})

다음과 같은 싱글 아이디를 전달하면 레코드를 얻을 수 있습니다.

db.getCollection('feed').find({"_id":ObjectId("55880c251df42d0466919268")})

MongoDB는 타입에 민감합니다.즉,1와는 다르다'1', 또한"55880c251df42d0466919268"그리고.ObjectId("55880c251df42d0466919268"). 뒤의 것은 오브젝트에 있습니다.ID 타입이지만 str이 아닙니다.기본값이기도 합니다._idMongoDB 문서의 유형입니다.

개체에 대한 자세한 내용을 볼 수 있습니다.아이디 여기 있어요.

시험해 보세요:

db.getCollection('feed').find({"_id" : {"$in" : [ObjectId("55880c251df42d0466919268"), ObjectId("55bf528e69b70ae79be35006")]}});

나는 네가 그 일을 놓치고 있다고 믿는다.ObjectId. 시험해 보세요:

db.feed.find({ 
    _id: {
        $in: [ObjectId("55880c251df42d0466919268"), ObjectId("55bf528e69b70ae79be35006")]
    }
});

여러 문서의 레코드를 찾으려면 "$in" 연산자를 사용해야 합니다. 쿼리는 정상이지만 ID에 대한 데이터를 찾는 동안 ObjectId만 추가하면 됩니다.

db.feed.find({
  "_id" : {
    "$in" : 
      [ObjectId("55880c251df42d0466919268"), 
       ObjectId("55bf528e69b70ae79be35006")
      ]
   }
});

사용만 하면 정상적으로 동작하고 있습니다.

module.exports.obtenerIncidencias386RangoDias = function (empresas, callback) {
    let arraySuc_Ids = empresas.map((empresa)=>empresa.sucursal_id)
            incidenciasModel.find({'sucursal_id':{$in:arraySuc_Ids}
            }).sort({created_at: 'desc'}).then(
                (resp)=>    {
                    callback(resp)}
            )
};

여기서:

empresas = ["5ccc642f9e789820146e9cb0","5ccc642f9e789820146e9bb9"]

ID는 다음 형식이어야 합니다.ObjectId("id").
이를 사용하여 문자열 ID를 변환할 수 있습니다.

const ObjectId = require('mongodb').ObjectId;

어레이 목록을 var에 저장하고 해당 어레이 목록을 전달하여 함수 var list=db.collection_name.find() db.collection_name.findval_id를 찾습니다.{$in:list}})

db.getCollection({your_collection_name}).find({
    "_id" : {
    "$in" : 
      [({value1}), 
       ({value2})
      ]
   } 
    })

언급URL : https://stackoverflow.com/questions/32264225/how-to-get-multiple-document-using-array-of-mongodb-id