mongodb查询条件,mongo多条件查询语句怎么写

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: