我试图通过_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只有一个Unique字段作为' _id'。
EDITED :
以下是Transaction 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