MongoDB学习笔记(2)
8.7、“$pop”修改器,从数组中删除任何一端删除元素Example:{$pop : {key : 1}}从数组末尾删除一个元素{$pop : {key : -1}}从数组头部删除
8.8、数组定位修改器Example:db.myMongodb.user.update({"comments.author" : "john"},{"$set" : {"comments.$.author" : "jim"}})定位到第一个john的第一条评论
9、特殊的更新or插入 upsertUpsert的特点是如果存在就更新,如果不存在就根据update的条件插入一条新的记录
10、批量更新需要设置update的第四个参数为true,否则默认更新第一个匹配的文档
11、得到上一条命令的执行结果 db.runCommand({getLastError : 1})
Mongodb 查询操作
1、查询全部集合db.myMongodb.post.find() 如果是console的话,默认显示20条记录
2、返回指定的键db.myMongodb.post.find({}, {"foo" : 1, "baz" : 1})返回键foo和健baz,同时默认返回_id键的值
3、指定不返回的键db.myMongodb.post.find({}, {"foo" : 0})返回除foo之外的其他键
4、判定条件查询a) “$lt” 小于b) “$lte”小于等于c) “$gt”大于d) “$gte”大于等于e) “$ne”不等于db.myMongodb.user.find({"age" : {"$gte" : 18, "$lte" : 30}})
5、其他条件查询a) “$in” :是否在某一个集合的查询db.myMongodb.user.find({"age" : {"$in" : [17,18,19]}})b) “$nin”:与in相对应,不处于某个结合的文档c) “$or”:多条件查询db.myMongodb.user.find({"$or" : [{"age" : 17}, {"age" : 18}]})d) “$not”非的情况下使用。其他条件可以基于它e) “$mod”取模查询f) “$null”可以匹配值为null的字段,同时也能匹配键不存在的文档如果同时要判定键存在,需要加上"$exists" 判定
6、查询数组a) “$all” 通过多个元素匹配数组db.myMongodb.food.find({"fruit" : {"$all" : ["apple", "oracle"]}})b) 数组下标匹配db.myMongodb.food.find({"fruit.2" : "peach"})c) "$size"数组长度匹配 db.myMongodb.food.find("fruit" : {"$size" : 3})
7、"$slice"指定返回集合的个数db.myMongodb.posts.find(criteria, {"$silce" : n})n = 10 返回前10条记录n = -10 返回后10条记录n = [23, 10] 返回从23条记录开始的10条记录,感觉应该可以做分页
8、采用点表示法查询内嵌文档(推荐)db.myMongodb.find({"name.first" : "Wang", "name.last" : "Hai"})
9、采用分层的方式查询db.myMongodb.find({"name" : {"first" : "Wang, "last" : "Hai""}})
10、$where查询$where查询非常强大,它可以添加js的函数实现高级的查询功能。基本样式如下:db.myMongodb.find({"$where" : function() {}})如果function返回true,该记录就返回。否则就不返回。
参考推荐:
mongodb 常用命令
MongoDB SQL语法对比
MongoDB 客户端 MongoVue
相关新闻>>
- 发表评论
-
- 最新评论 更多>>