首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mongoDB insertOne访问NodeJS结果时未定义

从mongoDB insertOne访问NodeJS结果时未定义
EN

Stack Overflow用户
提问于 2022-02-04 10:38:25
回答 1查看 221关注 0票数 0

我试图通过在Nodejs中的mongoDB中插入一个方法来访问文档。但是我在控制台中没有定义

代码语言:javascript
复制
const mongodb = require('mongodb')

const MongoClient = mongodb.MongoClient
const connectURL = 'mongodb://127.0.0.1:27017'

const databaseName = 'Task-Manager'

MongoClient.connect(connectURL , {useNewUrlParser : true } , (error , client )=>{

    if(error)
    {
        return console.log("Unable to connect to database")
    }

    const db = client.db(databaseName)

    db.collection('Users').insertOne({
        id: 12820,
        Name: "karthik",
        age : 20
    } , (error , result)=>{

        if(error)
        {
        return console.log("error has occured ")
        }
        console.log(result.ops)// I am getting undefined if i print  the document in console
    })

})
EN

回答 1

Stack Overflow用户

发布于 2022-02-14 21:26:16

在这里,您正在尝试打印如下所示

代码语言:javascript
复制
console.log(result.ops)

但是结果对象中没有什么像“操作”这样的东西。

结果对象的形状如下所示

代码语言:javascript
复制
{
  acknowledged: true,
  insertedId: new ObjectId("620ac763da37bbb06c9472a1")
}

这意味着,mongoDB只会发送回objectId和insertedId (这是插入的文档的objectId)。

因此,如果您还想要文档,那么需要添加代码来查找具有以下对象ID的数据。

代码语言:javascript
复制
const mongodb = require('mongodb')

const MongoClient = mongodb.MongoClient
const connectURL = 'mongodb+srv://mongoclass:newpass@myclass.fczoc.mongodb.net?retryWrites=true&w=majority'

const databaseName = 'Task-Manager'

MongoClient.connect(connectURL , {useNewUrlParser : true } , (error , client )=>{

    if(error)
    {
        return console.log("Unable to connect to database")
    }

    const db = client.db(databaseName)

    db.collection('Users').insertOne({
        id: 12820,
        Name: "karthik",
        age : 20
    } , (error , result)=>{

        if(error)
        {
        return console.log("error has occured ")
        }
        // changes are below
        db.collection('Users').findOne({_id:result.insertedId})
        .then((data) =>{
            console.log(data);
        } )
        .catch((err) =>{
            console.log(err);
        })
    })

})

然后,它将给出如下数据

代码语言:javascript
复制
{
  _id: new ObjectId("620ac88a1471142775a484b5"),
  id: 12820,
  Name: 'karthik',
  age: 20
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70984987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档