{“name”: “Kerry”, “score”:85}
{“name”: ”Peter”, “score”:90}
{“name”: “Kim”, “score”:70}
db.stu.insert({"name":"Kerry","score":85});
db.stu.insert({"name":"Peter","score":90});
db.stu.insert({"name":"Kim","score":70});
{“name”: “Jack”, “score”:90}
{“name”: “Jasper”, “score”: 87}
db.stu.insertMany([{"name":"Jack","score":90},{"name":"Jasper","score":87},
]);
db.stu.remove({"name":"Jasper"});
通过$set
对字段进行设置
for(let i of db.stu.find().toArray()){db.stu.update(i,{$set:{"favorite":["football","basketball"]}})
}
db.stu.update({"name":"Kim"},{$set:{"favorite":"table tennis"}});
使用
$push
进行添加数组元素操作,无论原始数组是否有重复都会添加
db.stu.update({"name":"Jack"},{$push:{"favorite":"yoga"}},{upsert:true});
使用
$addToSet
保证更新数组方式监测原始数组中是否含有相同的元素,有则不更新,无则更新
for (let i of["yoga", "table tennis", "jogging"]) {db.stu.update({"name": "Kerry"}, {$addToSet: {"favorite": i}});
};
$push
表示要对 favorite 字段进行增加操作
{ $each: ["yoga", "table tennis", "jogging"], $slice: -4 }
表示要增加的多个值,其中$each
表示一次性增加多个值,$slice
表示只保留最后的 4 个元素
db.stu.update({"name": "Kerry"
}, {$push: {"favorite": {$each: ["yoga", "table tennis", "jogging"],$slice: -4}}
})
$pop
表示要对 favorite 字段进行删除操作,-1 表示删除数组的第一个元素
db.stu.update({ name: "Jack" },{ $pop: { favorite: -1 } }
)
$unset
表示要删除指定的字段,favorite 表示要删除的字段名,“” 表示要删除的字段值(此处为空字符串)
db.stu.update({ name: "Peter" },{ $unset: { favorite: "" } }
)
db.stu.updateMany({},{$set: {score: [{"chinese": 80}, {"computer": 79}, {"programming": 98}]}}
)db.stu.update({name: "Peter"},{$set: {"score.0.chinese": 100}}
)
如果 score 字段中的内嵌文档数组中不存在 computer 字段,则执行
$inc
操作时会自动创建该字段并设置初始值为 0
db.stu.update({"name": "Jack"},{$inc: {"score.1.computer": 10}}
)
使用
$rename
操作符,将 name 字段重命名为 stu_name
db.stu.updateMany({},{$rename: {"name": "stu_name"}}
)
两种方式:
- $currentDate 操作符,将 sdate 字段的值设为当前时间,true 表示要更新该字段
- 使用new Date() 获取时间然后加入
var stime = new Date()db.stu.updateMany({"stu_name": {$in: ["Jack", "Kim"]}},{$set: {"sdate": stime}}
)//-------------------------------------------------------------
db.stu.updateMany({"stu_name": {$in: ["Jack", "Kim"]}},{$currentDate: {"sdate": true}}
)
包括插入3条文档记录,并更新2条文档记录。
插入文档信息:
{“_id”:10,“stu_name”:“张三”,“favorite”:[“badminton”,“swimming”]}
{“_id”:11,“stu_name”:“自己姓名”,“favorite”:[“piano”,“yoga”]}
{“_id”:12,“stu_name”:“张依”,“favorite”:{“swimming”:10,“jogging”:3}}
更新_id为10的文档记录,将喜欢的badminton运动改为yoga.
更新_id为12的文档记录,将jogging运动的喜欢程度从3变为9.
db.stu.bulkWrite([{insertOne: {document: {"_id": 10,"stu_name": "张三","favorite": ["badminton", "swimming"]}}},{insertOne: {document: {"_id": 11,"stu_name": "syf20020816@outlook.com","favorite": ["piano", "yoga"]}}},{insertOne: {document: {"_id": 12,"stu_name": "张依","favorite": {"swimming": 10,"jogging": 3}}}},{updateOne: {filter: {"_id": 10},update: {$set: {"favorite.0": "yoga"}}}},{updateOne: {filter: {"_id": 12},update: {$set: {"favorite.jogging": 9}}}}
])
db.createCollection('stu');db.stu.insert({"name": "Kerry","score": 85
});
db.stu.insert({"name": "Peter","score": 90
});
db.stu.insert({"name": "Kim","score": 70
});db.stu.insertMany([{"name": "Jack","score": 90},{"name": "Jasper","score": 87},]);db.stu.remove({"name": "Jasper"
});for (let i of db.stu.find().toArray()) {db.stu.update(i, {$set: {"favorite": ["football","basketball"]}})
}db.stu.find().toArray();db.stu.update({"name": "Kim"
}, {$set: {"favorite": "table tennis"}
});db.stu.update({"name": "Jack"
}, {$push: {"favorite": "yoga"}
}, {upsert: true
});for (let i of["yoga", "table tennis", "jogging"]) {db.stu.update({"name": "Jack"}, {$addToSet: {"favorite": i}});
}for (let i of["yoga", "table tennis", "jogging"]) {db.stu.update({"name": "Kerry"}, {$addToSet: {"favorite": i}});
};db.stu.update({"name": "Kerry"
}, {$push: {"favorite": {$each: ["yoga", "table tennis", "jogging"],$slice: - 4}}
})db.stu.update({name: "Jack"},{$pop: {favorite: - 1}}
)db.stu.update({name: "Peter"},{$unset: {favorite: ""}}
)db.stu.updateMany({},{$set: {score: [{"chinese": 80}, {"computer": 79}, {"programming": 98}]}}
)db.stu.update({name: "Peter"},{$set: {"score.0.chinese": 100}}
)db.stu.update({"name": "Jack"},{$inc: {"score.1.computer": 10}}
)db.stu.updateMany({},{$rename: {"name": "stu_name"}}
)var stime = new Date()db.stu.updateMany({"stu_name": {$in: ["Jack", "Kim"]}},{$set: {"sdate": stime}}
)db.stu.updateMany({"stu_name": {$in: ["Jack", "Kim"]}},{$currentDate: {"sdate": true}}
)db.stu.bulkWrite([{insertOne: {document: {"_id": 10,"stu_name": "张三","favorite": ["badminton", "swimming"]}}},{insertOne: {document: {"_id": 11,"stu_name": "syf20020816@outlook.com","favorite": ["piano", "yoga"]}}},{insertOne: {document: {"_id": 12,"stu_name": "张依","favorite": {"swimming": 10,"jogging": 3}}}},{updateOne: {filter: {"_id": 10},update: {$set: {"favorite.0": "yoga"}}}},{updateOne: {filter: {"_id": 12},update: {$set: {"favorite.jogging": 9}}}}
])