2013-01-12 18 views
0
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服務器。如果我在連接到相同數據庫的情況下在外殼上運行查詢,它可以正常工作。

編輯:我用一個int而不是false它工作正常。我可以將布爾值插入到mongodb中嗎?如果是這樣,怎麼樣?

+0

你在做什麼應該適用於int或布爾值。 – JohnnyHK

回答

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(); 
     }); 
     }); 
    }) 
    }); 
}