我正在尝试通过_id执行以下批量更新操作:
let bulk = Transactions.rawCollection().initializeOrderedBulkOp();
transactions.forEach((t) => {
let query = { '_id' : new Meteor.Collection.ObjectID(t._id._str) };
bulk.find( query ).update( { $set: { balance: t.balance, updated_at: new Date() } } );
});
bulk.execute(Meteor.bindEnvironment((err, res) => {
if (!err) {
callback(null, true);
} else {
console.log("Error Ocurred");
callback(true, null);
}
}));
但是 _id 的这个查找查询不起作用。如果我通过任何其他字段查询它就可以了。但我不能这样做,因为 Collection 只有一个唯一字段作为“_id”。
编辑:
以下是事务 MongoDB 文档
{
"_id" : ObjectId("5899f8a15d79b02f6075100d"),
"transaction" : "Charge",
"description" : "01/01/2017 - 01/28/2017",
"created_by" : "SYSTEM",
"residency_id" : "6pFs3sBMZPtp3e5N9",
"value" : 25.82,
"balance" : 25.82,
"created_at" : ISODate("2017-02-07T16:41:05.718+0000"),
"updated_at" : ISODate("2017-02-07T18:08:05.378+0000")
}
需要帮助。TIA