有许多与此相关的问题,但没有一个答案似乎解决了我的问题。
我逐行从文件中读取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
});
});
});
有人可以帮我吗?
谢谢!