db.collection('users', function(err, users)
{
if (!err)
{
users.update({company:cursor[i].name}, {$set:{active:false}}, function() {});
}
});
cursor[i].name
有一个字符串值,当我console.log()
时它显示正常。
该文档未更新。我在MongoHQ中使用远程数据库并使用本机mongodb驱动程序运行Node.js服务器。如果我在连接到同一个数据库的同时在shell上运行查询,它可以正常工作。
编辑:我使用的是int而不是false
,它运行正常。我可以将布尔值插入mongodb吗?如果是这样,怎么样?
答案 0 :(得分:1)
使用1.2.9的驱动程序进行测试,它运行正常。
exports.shouldUpdateCorrectlyWithBoolean = function (test) {
var db = new Db(MONGODB, new Server("127.0.0.1", 27017,
{auto_reconnect: false, poolSize: 1}), {w: 1, native_parser: false});
db.open(function (err, db) {
db.collection('update_with_boolean').insert({company: 'a'}, function(err, result) {
test.equal(null, err);
db.collection('update_with_boolean').update({company: 'a'}, {$set: {active:false}}, function(err, result) {
test.equal(null, err);
test.equal(1, result);
db.collection('update_with_boolean').findOne(function(err, item) {
test.equal(null, err);
test.equal(false, item.active);
db.close();
test.done();
});
});
})
});
}