【问题标题】:Mongo DB insert function syntaxMongoDB插入函数语法
【发布时间】:2016-04-26 00:58:00
【问题描述】:

我对在 Mongo 的插入函数中看到的可选回调的目的感到困惑。这到底是干什么用的?

var mongo = require('mongodb').MongoClient
var url = 'mongodb://localhost:27017/learnyoumongo'; // learnyoumongo is the Database

var firstName = process.argv[2];
var lastName = process.argv[3];

var doc = {
  'firstName': firstName,
  'lastName': lastName
}

 mongo.connect(url, function(err, db) {
 if (err) throw err;

 // db gives access to the database
 var docs = db.collection('docs');
 docs.insert(doc,function(err, data){ // What is the purpose of this callback function?
   if (err) throw err;
   console.log(JSON.stringify(doc));
   db.close()
 })
});

【问题讨论】:

    标签: node.js mongodb database nosql


    【解决方案1】:

    doc.insert 是一个异步调用。它将在操作完成之前立即返回。

    如果您想在插入实际完成后做某事(包括检查是否成功),您需要在回调中执行此操作(随后调用)。

    请注意,您正在对mongo.connect 做同样的事情:您只能从回调中开始使用连接。

    这是 Javascript 编程中非常常见的模式:触发后台操作,稍后接收结果作为回调的参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 2018-03-05
      • 2019-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多