删掉一个字段
删除某条数据的field1字段:db.collection.update({"_id" : "10001"}, {$unset: {"field1":1}});
批量删除field1字段:db.collection.update( {"field1": {$exists:true}}, {$unset: {"field1":1}}, {"multi":1} )
找出field1字段数据类型为double的数据
db.collection.find({"field1":{$type:"double"}}).count() 或者 db.collection.find({"field1":{$type:1}}).count()
修改字段类型
double转int32 -> db.collection.find().forEach( function(data) { db.collection.update( {"_id":data._id}, {$set:{"field1":NumberInt(data.field1)}} ) } );
String转Array -> db.collection.find().forEach( function(data) { db.collection.update({"_id":data._id}, {$set:{"field1":Array(data.field1)}}, false, true) } );
修改子集集合中字段的类型
db.collection.find({"list": {$exists: true}}).forEach(
function(data) {
for(var i = 0; i < data.list.length; i++) {
db.collection.update({"_id": data._id, "list.name": data.list[i].name}, {$set: {"list.$.name": new Date(data.list[i].name) }}, false, true)
}
}
);
把一个库数据迁移到另一个库
db.collection.find({}).forEach(
function(data) {
db.getSiblingDB("test_db")["collection"].insert(data);
}
)