我怎么知道连接是否安全?

时间:2013-02-21 06:03:16

标签: javascript node.js mongodb mongoskin nosql

我多次提出关于mongodb连接的问题,但我还不了解很多东西,但我尝试了......

有这个联系...

db.collection('usuarios').insert(campos,{safe:true}, function(err, result)

我得到一个安全的连接......但是mongodb给我发出了这个警告

========================================================================================
=  Please ensure that you set the default safe variable to one of the                  =
=   allowed values of [true | false | {j:true} | {w:n, wtimeout:n} | {fsync:true}]     =
=   the default value is false which means the driver receives does                    =
=   return the information of the success/error of the insert/update/remove            =
=                                                                                      =
=   ex: new Db(new Server('localhost', 27017), {safe:true})                            =
=                                                                                      =
=   http://www.mongodb.org/display/DOCS/getLastError+Command                           =
=                                                                                      =
=  The default of false will change to true in the near future                         =
=                                                                                      =
=  This message will disappear when the default safe is set on the driver Db           =
========================================================================================

所以我试试这个......

var db = mongo.db("root:toor@127.0.0.1:27017/cordoba",{safe:true});
db.collection('usuarios').insert(campos,{new:true}, function(err, result)

但我不确定这是否安全:真正的连接所以我这样放

var db = mongo.db("root:toor@127.0.0.1:27017/cordoba",{safe:true});
    db.collection('usuarios').insert(campos,{safe:true},{new:true}, function(err, result)

可能是那种方式是安全的:true但是当我把安全:真正的新的之前:真正的mongodb返回我的旧var,所以我把安全:真正的新的:真的

var db = mongo.db("root:toor@127.0.0.1:27017/cordoba",{safe:true});
    db.collection('usuarios').insert(campos,{new:true},{safe:true}, function(err, result)

并且工作正常,但我不确定它是否安全:是的,所以我尝试把安全:真在新:这样的真实对象

var db = mongo.db("root:toor@127.0.0.1:27017/cordoba",{safe:true});
        db.collection('usuarios').insert(campos,{new:true,safe:true},function(err, result)

我认为mongdb吓坏了!但没什么......没有错误没有什么......所以我不知道我怎么知道mongodb何时使用安全:真或不安全:真......

我怎么知道?

1 个答案:

答案 0 :(得分:3)

api不再是{safe: true},而是{w: 1} http://mongodb.github.com/node-mongodb-native/api-generated/db.html

var db = mongo.db('mongodb://127.0.0.1:27017/test', {w: 1})

{safe: true}仍然可以使用,但已被弃用。如果您在数据库级别设置它,则无需将其设置为collection.insert()级别。

插入的api签名是insert(docs[, options][, callback]),所以你应该只有一个选项对象。

此外,{new: true}没有collection.insert个选项。

所以基本上,你不需要设置任何选项(插入时)。