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

问题描述 投票:0回答:2

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

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();
        });
    });
});
node.js mongodb nosql
2个回答
19
投票

使用命令

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


1
投票

4.x 中发生了一些变化。 您可以参考下面的链接。 https://github.com/mongodb/node-mongodb-native/blob/HEAD/etc/notes/CHANGES_4.0.0.md

See this snip

© www.soinside.com 2019 - 2024. All rights reserved.