MongoDB和Nodejs中不更新布尔字段

时间:2014-01-23 02:05:37

标签: json node.js mongodb

有许多与此相关的问题,但没有一个答案似乎解决了我的问题。

我逐行从文件中读取json对象字符串 - 将它们转换为json对象,然后使用一些json对象来查找它们是否在mongodb中。如果他们是我想将isValid字段更新为true,但我只是返回值1并且没有更新。

这是我的代码:

var mongodb = require('mongodb')
 , MongoClient = mongodb.MongoClient;

var lazy = require("lazy"),
    fs  = require("fs");

MongoClient.connect('mongodb://localhost', function(err, db) {

var collection = db.collection('offers');

new lazy(fs.createReadStream('./offers.txt'))
.lines
.forEach(function(line){

    var jsonOffer = JSON.parse(line.toString());

    var find = {
      pricing: jsonOffer.pricing,
      details: jsonOffer.details,
      retailer: jsonOffer.retailer,
      brand: jsonOffer.brand,
      type: jsonOffer.type
    }

    collection.update(find, { $set: { 'isValid': true } }, function (err, result) {
        if (err) throw err;
        console.log(result);//prints 1
    });
});

});

有人可以帮我吗?

谢谢!

0 个答案:

没有答案