mongodb查询条件,mongo多条件查询语句怎么写
http://www.2cto.com/database/201207/143618.html
查询:
MySQL:
SELECT*FROMuser
蒙哥:
db.user.find()
MySQL:
SELECT * from用户,其中name= starlee
蒙哥:
db。用户。查找({ name : starlee })
插入:
MySQL:
INSERTINOTuser(`姓名`, `年龄`)值(“明星”,25)
蒙哥:
db。用户。插入({ 姓名:明星,年龄:25})
如果你想在关系型数据库里添加一个字段,你必须:
ALTERTABLEuser…
但在MongoDB里你只需要:
db。用户。插入({ 姓名: starlee ,年龄:25,电子邮件: starlee@starlee.com})
删除:
MySQL:
从用户中删除*
蒙哥:
db.user.remove({})
MySQL:
DELETEFROMuserWHEREage 30
蒙哥:
db。用户。删除({ age :{ $ lt:30 } })
$ gt:$ GTE:=;$ lt:$ LTE:=;$ne:=
更新:
MySQL:
更新用户集`年龄`=36其中` name`=starlee
蒙哥:
db。用户。更新({ name : starlee },{$set:{age:36}})
MySQL:
更新用户集` age `=` age ` 3 where ` name `= starlee
蒙哥:
db。用户。更新({ name : starlee },{$inc:{age:3}})
MySQL:
select count(*)from user where ` name `= starlee
蒙哥:
db。用户。查找({ name : starlee }).计数()
MySQL:
SELECT*FROMuserlimit10,20
蒙哥:
db.user.find().跳过(10)。限制(20)
MySQL:
SELECT*FROMuserWHERE`age`IN(25,35,45)
蒙哥:
db.user.find({age:{$in:[25,35,45]})
MySQL:
SELECT*FROMuserORDERBYageDESC
蒙哥:
db.user.find().排序({ 年龄:-1})
MySQL:
从20岁的用户中选择distinct(name)
蒙哥:
db.user.distinct(name ,{age:{$lt:20}})
MySQL:
SELECTname,sum(marks)FROMuserGROUPBYname
蒙哥:
db.user.group({
key:{name:true},
cond:{name:foo},
reduce:函数(obj,prev){ prev。msum=obj。标志;},
初始:{msum:0}
});
MySQL:
SELECTnameFROMuserWHEREage 20
蒙哥:
db.user.find(this.age 20 ,{name:1})
发现很多人在搜MongoDB循环插入数据,下面把MongoDB循环插入数据的方法添加在下面:
for(vari=0;i 100i )db.test.insert({uid:i,uname: nosqlfan I });
上面一次性插入一百条数据,大概结构如下:
{ " _ id ":ObjectId(" 4c 876 e 519 e 86023 a 30 DDE 6b 8 " " " uid ":55," uname":"nosqlfan55 ")
{ " _ id ":ObjectId(" 4c 876 e 519 e 86023 a 30 DDE 6b 9 " " " uid ":56," uname":"nosqlfan56 ")
{ " _ id ":ObjectId(" 4c 876 e 519 e 86023 a 30 DDE 6 ba ")," uid":57," uname":"nosqlfan57 ")
{ " _ id ":ObjectId(" 4c 876 e 519 e 86023 a 30 DDE 6 bb ")," uid":58," uname":"nosqlfan58 ")
{ " _ id ":ObjectId(" 4c 876 e 519 e 86023 a 30 DDE 6 BC ")," uid":59," uname":"nosqlfan59 ")
{ " _ id ":ObjectId(" 4c 876 e 519 e 86023 a 30 DDE 6 BD ")," uid":60," uname":"nosqlfan60 ")简易对照表
SQL语句MongoQueryLanguageStatement
create table users(number,bNumber)隐式;堪培拉明确
INSERTINTOUSERSVALUES(1,1) db.users.insert({a:1,b:1})
SELECTa,bFROMusers db.users.find({},{a:1,b:1})
SELECT*FROMusers db.users.find()
SELECT * from年龄=33 db的用户。用户。查找({年龄:33 })
SELECTa,bFROMusersWHEREage=33 db。用户。查找({年龄:33 },{a:1,b:1})
SELECT * from user where age=33 order by name db。用户。找到({年龄:33 }).排序({姓名:1})
SELECT * from users where age 33 db。用户。查找({ age :{ $ gt:33 } })})
SELECT * from users where age 33 db。用户。查找({ age :{ $ lt:33 } })})
SELECT * from userswhherename like“% Joe %”db。用户。查找({ name:/Joe/})
select * from users here name like Joe % db.users.find({name:/^joe/})
SELECT * from年龄为33岁且年龄=40 db的用户。用户。查找({ age :{ $ gt:33,$lte:40}})})
SELECT * from usersorderbynamedesc数据库。用户。查找().排序({名称:-1})
CREATEINDEXmyindexnameONusers(name)db。用户。确保索引({ name:1 })
创建INDEXmyindexnameONusers(名称,ts desc)数据库。用户。确保索引({ name:1,ts:-1})
SELECT * from users其中a=1,b= q db。用户。find({ a:1,b:q})
SELECT * from userslimit 10跳过20 db。用户。查找().限制(10)。跳过(20)
SELECT * from users where a=1 orb=2db。用户。查找({ $ or:[{ a:1 },{b:2}]})
SELECT * from users limit 1 db。用户。findone()
解释select * from users wherez=3db。用户。查找({ z:3 }).解释()
从用户数据库中选择DISTINCTlast _ name。用户。独特(姓氏)
从用户数据库中选择计数(* y)。用户。计数()
从年龄为30 db的用户中选择count(* y)。用户。查找({年龄:{ $ gt :30 } }).计数()
从用户数据库中选择计数(年龄)。用户。find({ AGE:{ $ exists :true } }).计数()
update usersseta=1,其中b= q db。用户。更新({ b: q },{$set:{a:1}},false,true)
update usersseta=a 2其中EB= q db。用户。更新({ b: q },{$inc:{a:2}},false,true)
DELETEFROMusersWHEREz= ABC db。用户。删除({ z: ABC });
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。