$slice如果希望数组的最大长度是固定的,那么可以将 $slice 和 $push 组合在一起使用,就可以保证数组不会超出设定好的最大长度。$slice 的值必须是负整数。假设$slice的值为10,如果$push 后的数组的元素个数小于10,那么所有元 ...
$slice
如果希望数组的最大长度是固定的,那么可以将 $slice 和 $push 组合在一起使用,就可以保证数组不会超出设定好的最大长度。$slice 的值必须是负整数。
假设$slice的值为10,如果$push 后的数组的元素个数小于10,那么所有元素都会保留。反之,只有最后那10个元素会保留。因此,$slice 可以用来在文档中创建一个队列。
db.class.insert({"班级":"1班"})WriteResult({ "nInserted" : 1 })> db.class.update(... {"班级":"1班"},... {"$push":{"students":{... "$each":["zs","ls","ww"],... "$slice":-5}}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.class.findOne(){ "_id" : ObjectId("5854b5a0e7d717fcb974637b"), "班级" : "1班", "students" : [ "zs", "ls", "ww" ]}> db.class.update(... {"班级":"1班"},... {"$push":{"students":{... "$each":["yyb","rhr","www","qqq","eee","rrr"],... "$slice":-5}}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.class.findOne(){ "_id" : ObjectId("5854b5a0e7d717fcb974637b"), "班级" : "1班", "students" : [ "rhr", "www", "qqq", "eee", "rrr" ]}>
原标题:MongoDB权威指南第二版学习笔记(四)—增删改文档下
关键词:MongoDB
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。