NodeJS + MongoDB: insertOne() - 从 result.ops 获取插入的文档

l00*_*00p 2 mongodb nosql node.js

在我看到的文档中,我们可以使用返回的 insertOneWriteOpResultObject.ops 来检索插入的文档。(文档),但是这样做时我会回来undefined

重现代码:

const collection = db.collection("testcollection");
collection.insertOne({"name": "Test_Name", "description": "Test desc."},
(err, result) => {

    console.log("After Insert:\n");
    console.log(result.ops); //undefined but should return the document
    
    collection.find({}).toArray((err, docs) => {
        
        console.log("Found:\n");
        console.log(docs);

        db.dropCollection("testcollection", (err, result) => {

            client.close();
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

zsw*_*wqa 5

使用命令检查 MongoDB Node.js 驱动程序的版本npm list mongodb。如果是版本 4,则无法访问result.ops. 在版本 4 insertOne 中,insertOneResult返回只有 2 个属性的insertOneResult:acknowledged 和insertId

  • 这很疯狂!他们为什么要删除“ops”并对此保持沉默? (12认同)
  • `result.insertedId`,这行不通? (2认同)