javascript - mongodb nodejs insert




الحصول على_id المستند المدرج في قاعدة البيانات Mongo في NodeJS (4)

الآن يمكنك استخدام أسلوب insertOne وفي insertOne الواعدة

يمكنني استخدام NodeJS لإدراج المستندات في MongoDB. باستخدام collection.insert يمكنني إدراج مستند في قاعدة البيانات كما في هذا الكود:

// ...
collection.insert(objectToInsert, function(err){
   if (err) return;
   // Object inserted successfully.
   var objectId; // = ???
});
// ...

كيف يمكنني الحصول على _id الكائن المدرج؟

هل هناك أي طريقة للحصول على _id دون الحصول على أحدث كائن إدراج _id ؟

لنفترض أنه في نفس الوقت الكثير من الأشخاص الذين يقومون بالوصول إلى قاعدة البيانات ، لا يمكنني التأكد من أن أحدث معرف هو معرف الكائن المدرج.


قمت بالفعل console.log () للمعلمة الثانية في وظيفة رد الاتصال للإدراج. يوجد بالفعل الكثير من المعلومات التي تم إرجاعها عن الكائن المدرج نفسه. لذا ، يوضح الكود أدناه كيفية الوصول إلى معرفه.

collection.insert(objToInsert, function (err, result){
    if(err)console.log(err);
    else {
        console.log(result["ops"][0]["_id"]);
        // The above statement will output the id of the 
        // inserted object
       }
});

هناك معلمة ثانية لاستدعاء group.insert الذي سيُرجع المستند أو المستندات التي تم إدخالها ، والتي يجب أن تحتوي على _ids.

محاولة:

collection.insert(objectToInsert, function(err,docsInserted){
    console.log(docsInserted);
});

وتحقق من وحدة التحكم لمعرفة ما أقصده.


يرسل Mongo المستند بالكامل كعنصر callback لذا يمكنك الحصول عليه ببساطة من هناك فقط.

فمثلا

collection.save(function(err,room){
  var newRoomId = room._id;
  });






mongodb