monogdb语句学习大全(助你快速熟悉并且掌握)
左边是mongodb查询语句,右边是sql语句。对照着用,挺方便。 db.users.find() select*fromusers db.users.find({"age":27}) select*fromuserswhereage=27 db.users.find({"username":"joe","age":27}) select*fromuserswhere"username"="joe"andage=27 db.users.find({},{"username":1,"email":1}) selectusername,emailfromusers db.users.find({},"_id":0}) //nocase//即时加上了列筛选,_id也会返回;必须显式的阻止_id返回 db.users.find({"age":{"$gte":18,"$lte":30}}) select*fromuserswhereage>=18andage<=30 //$lt(<)$lte(<=)$gt(>)$gte(>=) db.users.find({"username":{"$ne":"joe"}}) select*fromuserswhereusername<>"joe" db.users.find({"ticket_no":{"$in":[725,542,390]}}) select*fromuserswhereticket_noin(725,390) db.users.find({"ticket_no":{"$nin":[725,390]}}) select*fromuserswhereticket_nonotin(725,390) db.users.find({"$or":[{"ticket_no":725},{"winner":true}]}) select*formuserswhereticket_no=725orwinner=true db.users.find({"id_num":{"$mod":[5,1]}}) select*fromuserswhere(id_nummod5)=1 db.users.find({"$not":{"age":27}}) select*fromuserswherenot(age=27) db.users.find({"username":{"$in":[null],"$exists":true}}) select*fromuserswhereusernameisnull //如果直接通过find({"username":null})进行查询,那么连带"没有username"的纪录一并筛选出来 db.users.find({"name":/joey?/i}) //正则查询,value是符合PCRE的表达式 db.food.find({fruit:{$all:["apple","banana"]}}) //对数组的查询,字段fruit中,既包含"apple",又包含"banana"的纪录 db.food.find({"fruit.2":"peach"}) //对数组的查询,字段fruit中,第3个(从0开始)元素是peach的纪录 db.food.find({"fruit":{"$size":3}}) //对数组的查询,查询数组元素个数是3的记录,$size前面无法和其他的操作符复合使用 db.users.findOne(criteria,{"comments":{"$slice":10}}) //对数组的查询,只返回数组comments中的前十条,还可以{"$slice":-10},{"$slice":[23,10]};分别返回最后10条,和中间10条 db.people.find({"name.first":"Joe","name.last":"Schmoe"})//嵌套查询 db.blog.find({"comments":{"$elemMatch":{"author":"joe","score":{"$gte":5}}}}) //嵌套查询,仅当嵌套的元素是数组时使用, db.foo.find({"$where":"this.x+this.y==10"}) //复杂的查询,$where当然是非常方便的,但效率低下。对于复杂查询,考虑的顺序应当是正则->MapReduce->$where db.foo.find({"$where":"function(){returnthis.x+this.y==10;}"}) //$where可以支持javascript函数作为查询条件 db.foo.find().sort({"x":1}).limit(1).skip(10); //返回第(10,11]条,按"x"进行排序;三个limit的顺序是任意的,应该尽量避免skip中使用large-number (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 解决"未能加载文件或程序集,或它的某一个依赖项,试图加
- Flex RSL框架 (论及 常见的error # 2032)
- c# – 这个IDisposable对我有什么用?
- 无法注册Flash Player 的ActiveX控件
- c# – 生产中的ASP.NET核心应用程序的实例化
- c# – 如何将Ctrl / Shift / Alt组合键发送到应用程序窗口?
- postgresql 查看数据库,表,索引,表空间以及大小
- PostgreSQL返回的结果集为JSON数组?
- 《从零开始学Swift》学习笔记(Day 70)――Swift与Objecti
- ruby – NilClass,TrueClass和FalseClass的目的是什么