에 대한 삽입 된 ID 가져 오기 내 nodeJs 응용 프로그램에 mongoskin을 사용하여 mongo db에 데이터를 삽입합니다. 데이터베이스에 문서 배열을 삽입하고 삽입 된 레코드의 ID를 클라이언트에 다시 전송해야한다는 요구 사항이 있습니다. 그러나 데이터를 삽입 할 수 있지만 결과 개체에 삽입 된 레코드의 ID를 찾을 수 없습니다. 결과에 insertedIds를 찾는 데 도움이 필요합니다. 아래 코드를 사용하여 대량 삽입하십시오.Bulk.Insert() - 몽고 스킨
db.collection('myCollection', function (err, collection) {
var bulk = collection.initializeUnorderedBulkOp();
for (var i = 0; i < dataArray.length; i++) {
bulk.insert(dataArray[i]);
}
bulk.execute(function (err, result) {
//TODO: return the Ids of inserted records to the client
//Client will use these Ids to perform subsequent calls to the nodejs service
});
});
내 결과는 BatchWriteResult
개체 유형입니다.
을 보여줍니다? - 그렇다면 매우 영리합니다. 나는 그것을 좋아한다! – profesor79
최신 Node.js 드라이버를 사용하는 경우 [**'getInsertedIds()'**] (http://mongodb.github.io/node)를 사용하는'Bulk.insert()'메소드로 가능합니다. -mongodb-native/2.1/api/BulkWriteResult.html # getInsertedIds) 메쏘드를 반환하지만, [** BatchWriteResult' **] (https://mongodb.github.io/node-mongodb-native/api- generated/batchwriteresult.html), 내가 알고있는 해결 방법은'upsert()'방법을 통해 가서 [**'getUpsertedIds()'**] (https://mongodb.github.io/node- mongodb-native/api-generated/batchwriteresult.html # getupsertedids) 메소드를 사용하십시오. 설명을 위해 – chridam
thx! – profesor79