【发布时间】:2017-01-26 06:14:36
【问题描述】:
我的FoodRecord 记录包含如下内容:
"_modifierRecords" : [
"com.domain.data.REM.FoodModifierRecord:57919e6930049c15986e7c05"
"com.domain.data.REM.FoodModifierRecord:57919e6930049c15986e7c06"
],
"_discountModifierRecords" : [
],
"_salesRecord" : "com.domain.data.REM.SalesRecord:57919e6930049c15986e7c01"
如果上面的 3 个字段中存在 com.domain.data.REM.,我需要将它们替换为 com.domain.data.。
这是我目前所拥有的,但我遇到了问题:
var operations = [];
db.FoodRecord.find().forEach(function(doc) {
var operation = {
updateOne: {
filter: { '_id': doc._id },
update: {
'$set': { '_salesRecord': doc._salesRecord.replace('com.domain.data.REM.SalesRecord:', 'com.domain.data.SalesRecord:'),
'_modifierRecords.$' : doc._modifierRecords.$.replace('com.domain.data.REM.FoodModifierRecord:', 'com.domain.data.FoodModifierRecord:') }
}
}
};
operations.push(operation);
})
operations.push({
ordered: true,
writeConcern: { w: "majority", wtimeout: 5000 }
})
db.FoodRecord.bulkWrite(operations, { ordered : false });
【问题讨论】:
-
你的 MongoDB 版本是多少?
-
目前我的数据库版本是 3.2.8 我相信
标签: arrays mongodb mongodb-query