Mongodb 用于数据类型转换的Mongo Db批量更新操作
如何对mongo db执行批量操作?我已经有了改变数据类型的脚本,但它并没有考虑到巨大的容量 集合“store”有一个名为“priceList”的列,该列是一个数组,包含多个字段,其中一个字段是“value”。现在它是整数,现在我想把它转换成自定义记录对象 当前模式Mongodb 用于数据类型转换的Mongo Db批量更新操作,mongodb,mongodb-query,Mongodb,Mongodb Query,如何对mongo db执行批量操作?我已经有了改变数据类型的脚本,但它并没有考虑到巨大的容量 集合“store”有一个名为“priceList”的列,该列是一个数组,包含多个字段,其中一个字段是“value”。现在它是整数,现在我想把它转换成自定义记录对象 当前模式 store - _id - name [String] - priceList [Array] - amount [Record] //{"unscaled":<value>, "scaled", &l
store
- _id
- name [String]
- priceList [Array]
- amount [Record] //{"unscaled":<value>, "scaled", <value>}
- value [Integer]
谢谢 希望这有帮助(更新)
希望这有帮助(更新)
你试着这样做
db.store.find({
priceList: {
$exists: true
}
}).forEach(function(myDoc) {
var child = myDoc.priceList;
for (var i = 0; i < child.length; i++) {
var ob = child[i];
var obj = {"unscaled":NumberLong(ob.value),"scaled":NumberInt(0)};
if ('value' in ob) {
ob.value = obj;
child[i] = ob;
}
}
db.store.update({
_id: myDoc._id
}, {
$set: {
subMenu: child
}
});
});
db.store.find({
价格表:{
$exists:true
}
}).forEach(函数(myDoc){
var child=myDoc.priceList;
对于(变量i=0;i
你这样尝试
db.store.find({
priceList: {
$exists: true
}
}).forEach(function(myDoc) {
var child = myDoc.priceList;
for (var i = 0; i < child.length; i++) {
var ob = child[i];
var obj = {"unscaled":NumberLong(ob.value),"scaled":NumberInt(0)};
if ('value' in ob) {
ob.value = obj;
child[i] = ob;
}
}
db.store.update({
_id: myDoc._id
}, {
$set: {
subMenu: child
}
});
});
db.store.find({
价格表:{
$exists:true
}
}).forEach(函数(myDoc){
var child=myDoc.priceList;
对于(变量i=0;i
我不想更改整个priceList数组,只想更改priceList下名为value的一个字段。我不想更改整个priceList数组,只想更改priceList下名为value的一个字段。
db.store.find({
priceList: {
$exists: true
}
}).forEach(function(myDoc) {
var child = myDoc.priceList;
for (var i = 0; i < child.length; i++) {
var ob = child[i];
var obj = {"unscaled":NumberLong(ob.value),"scaled":NumberInt(0)};
if ('value' in ob) {
ob.value = obj;
child[i] = ob;
}
}
db.store.update({
_id: myDoc._id
}, {
$set: {
subMenu: child
}
});
});