標籤:
說到查詢,我們一般就想起了關係型資料庫的查詢了,比如:order by(排序)、limit(分頁)、範圍查詢(大於某個值,小於某個值..,in查詢,on查詢,like查詢等待很多),同樣mongodb同樣也支援這些操作,只是文法不同,比如排序:mongodb裡面使用了skip(field:1/-1)方法,下面就來一一介紹一下:
一、mongodb查詢文檔
1.查詢文檔之find() : 不加條件是查詢集合全部的資料
文法:db.collectionName.find({條件},{field:true/false})
1.1查詢所有資料
顯示指定欄位(與對比,find()第二個參數為指定查詢的欄位,格式[欄位名:true/false]true為顯示,false為不顯示):
1.2 查詢資料總數 count()
文法:db.collectionName.find({條件}).count()
2. 查詢一個文檔 findOne() :預設是查詢合格第一條文檔
文法:db.collectionName.findOne({條件},{field:true/false})
3.pretty()方法:格式化顯示查詢的文檔
二、條件操作符("$and"、"$nor"、"$not"、"$or"、"$exists"、"$mod"、"$regex"、"$where"、"$slice"、"$elemMatch","null查詢"、"$all"、"$size"、"$in"、"$nin")
1.下面是一部分條件操作符的列表,含義、文法、以及和關係型資料庫的對比
| 等於 |
{<key>:<value>} |
db.col.find({"by":"zgw"}) |
where by = ‘zgw‘ |
| 小於($lt) |
{<key>:{$lt:<value>}} |
db.col.find({"likes":{$lt:50}}) |
where likes < 50 |
| 小於或等於($lte) |
{<key>:{$lte:<value>}} |
db.col.find({"likes":{$lte:50}}) |
where likes <= 50 |
| 大於($gt) |
{<key>:{$gt:<value>}} |
db.col.find({"likes":{$gt:50}}) |
where likes > 50 |
| 大於或等於($gte) |
{<key>:{$gte:<value>}} |
db.col.find({"likes":{$gte:50}}) |
where likes >= 50 |
| 不等於($ne) |
{<key>:{$ne:<value>}} |
db.col.find({"likes":{$ne:50}}) |
where likes != 50 |
文法:db.collectionName.find({field:{Operators1:value1,Operators2:value2}}) --[Operators:就是上面那些操作符()]
php格式:array(field=>array(‘$lte‘=>value)) 或者 array(field=>array(‘$gte‘=>value1,‘$lte‘=>value2))
下面是不等於操作符的查詢:
2.操作符:"$and"、"$nor"、"$not"、"$or"、"$exists"、"$mod"、"$regex"、"$where"、"$slice"、"$elemMatch","null查詢"、"$all"、"$size"、"$in"、"$nin"
2.1 $and :
未完待續:http://www.cnblogs.com/egger/p/3135847.html
http://www.cnblogs.com/zhaoyang/archive/2012/01/10/2317664.html
mongodb查詢文檔