我试图通过在Nodejs中的mongoDB中插入一个方法来访问文档。但是我在控制台中没有定义
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
})
})发布于 2022-02-14 21:26:16
在这里,您正在尝试打印如下所示
console.log(result.ops)但是结果对象中没有什么像“操作”这样的东西。
结果对象的形状如下所示
{
acknowledged: true,
insertedId: new ObjectId("620ac763da37bbb06c9472a1")
}这意味着,mongoDB只会发送回objectId和insertedId (这是插入的文档的objectId)。
因此,如果您还想要文档,那么需要添加代码来查找具有以下对象ID的数据。
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);
})
})
})然后,它将给出如下数据
{
_id: new ObjectId("620ac88a1471142775a484b5"),
id: 12820,
Name: 'karthik',
age: 20
}https://stackoverflow.com/questions/70984987
复制相似问题