如何仅将MongoDB插入的项目打印到屏幕上?

时间:2018-01-05 21:29:31

标签: mongodb collections

var mongo = require('mongodb');
//Establishing the connection
var new_db = "mongodb://localhost:27017/demo_db"

//File Name is  : demo-db.js
//establishing the connection
mongo.connect(new_db ,(error , client) => {
if (error){
    throw error;
}
var db = client.db('mytestdb');
//console.log("Database demo_db created successfully");
//To close the connection
var data ={ name : "name" , age : "age" , nation : "VN" }

db.collection("details").insertOne(data,(err , coll) => {
    if(err) throw err;
    console.log(coll);

});

client.close();
});

问题:当我用 console.log(coll)打印集合时,我只期望名称,国家,年龄。但是,我收到一个很长的JSON对象:

{CommandResult {
result: { n: 1, ok: 1 },
connection:
Connection {
domain: null,
_events:
{ error: [Function],
... 

最后我需要的信息(姓名,年龄,......)。

如何仅将插入的项目打印到屏幕上,而不是长JSON对象?

1 个答案:

答案 0 :(得分:0)

这就是回调函数作为数据库操作insertOne的响应返回的内容。您可以通过以下方式访问插入的项目:

coll.ops[0]

这将是一个像这样的对象:

{ 
  name: "name",
  age: "age",
  nation: "VN",
  _id: Buffer(12) // Buffer containing the ObjectID of the inserted item
}