xiaoxue85 发表于 2015-7-6 01:54:37

Nosql之Mongodb 2 高级查询

  接上文
  http://www.iyunv.com/zhaoyang/archive/2012/01/09/2317505.html
  
  接上文…………
高级查询
find()
  1 查询所有记录
  db.users.find()
  2 查询name为apple的记录
  db.users.find({“name”:”apple”})
  3 查询country为china,gender为1的记录
  db.users.find({“country”:”china”,” gender”:1})
  
限制结果集
  对应到标准sql, 之前是select * from, 现在需要的是select name from …
  1 查询name为apple,并且结果只显示name
  db.users.find({“name”:”apple”}, {“name”:true})
  
  ---------------------------------------------------------------------------------------------------------------------------
  注:后面这个参数{name:true}代表只显示name,如果有一个设置true,那么其他未设置的都是默认false,但是_id字段是默认true的,如果不想显示_id,可以这么写:
  db.users.find({“name”:”apple”}, {“name”:true,” _id”:false})
  ---------------------------------------------------------------------------------------------------------------------------
  
  2 查询所有记录,并且结果只显示name和country
  db.users.find(null, {“name”:true, “country”:true, “_id”:false})
findOne()
  顾名思义,只显示查询到的第一条记录,类似于select top 1 …
  db.users.findOne({“gender”:0})
limit()
  类似于sqlserver中的top
  db.users.find({“gender”:0}).limit(2);
条件操作符 =, !=
  $lt   小于      (less than)
  $lte小于等于(less than equals)
  $gt   大于      (greater than)
  $gte大于等于(greater than equals)
  $ne不等于    (not equals)
  
  查出age大于30的记录
  db.users.find({“age”:{$gt:30}})
  查出age>=30 且
页: [1]
查看完整版本: Nosql之Mongodb 2 高级查询