婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 淺談mongodb中query查詢

淺談mongodb中query查詢

熱門標簽:兗州電話外呼營銷系統 福州電銷機器人源代碼 企業智能外呼系統價格多少 徐州ai電銷機器人原理 沈陽營銷電銷機器人招商 機器人外呼系統軟件存在問題 智能電銷機器人銷售話術 南京400電話怎樣辦理 高德地圖標注商戶位置

Mongodb最大的功能之一就是它支持動態查詢,就跟傳統的關系型數據庫查詢一樣,但是它的查詢來的更靈活。

一、  Query Expression Objects:查詢表達式對象

查詢表達式文檔也是一個BSON結構的文檔,例如,我們可以用下面的查詢語句來查詢集合中的所有記錄:
db.users.find({})
這里,表達式對象是一個空文檔,在查詢的時候去去匹配所有的記錄。再看:

復制代碼 代碼如下:

db.users.find({'last_name': 'Smith'})

這里,我們將會查詢出所有“last_name”屬性值為“Smith”的文檔記錄。

二、查詢選項

除了查詢表達式意外,Mongodb還支持一些額外的參數選項。例如,我們可能僅僅只想返回某些特定的字段值:

復制代碼 代碼如下:

//返回除了age字段外的所有字段
> db.user.find({},{age:0});
//返回tags=tennis 除了comments的所有列
db.posts.find( { tags : 'tennis' }, { comments : 0 } );
//返回userid=16的name字段
> db.user.find({userid:16},{name:1});
{ "_id" : 16, "name" : "user16" }
//返回x=john的所有z字段
db.things.find( { x : "john" }, { z : 1 } );

注:  _id字段始終都會被返回,哪怕沒有明確指定

三、查詢條件

1)  , =, >, >=

// 大于: field > value 
db.collection.find({ "field" : { $gt: value } } );  
 
//小于:field  value 
db.collection.find({ "field" : { $lt: value } } );
  
//大于等于: field >= value 
db.collection.find({ "field" : { $gte: value } } ); 
 
//小于等于:field=value 
db.collection.find({ "field" : { $lte: value } } ); 
 

2)  $all

  $all操作類似$in操作,但是不同的是,$all操作要求數組里面的值全部被包含在返回的記錄里面,如:

> use test; 
switched to db test 

> db.things.insert({a:[1,2,3]}); 

> db.things.find();             
{ "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] } 

> db.things.find({a:{$all:[2,3]}}); 
{ "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] } 

> db.things.find({a:{$all:[1,2,3]}}); 
{ "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] } 

> db.things.find({a:{$all:[1]}});    
{ "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] } 

> db.things.find({a:{$all:[1,2,3,4]}});

3)  $exists

$exists操作檢查一個字段是否存在,如:

> for(var i=0;i1000;i++) db.user.save({_id:i,name:'user'+i,userid:i,age:20}); 
 
//包含userid 
> db.user.find({userid:{$exists:true}}).limit(5); 
{ "_id" : 0, "name" : "user0", "userid" : 0, "age" : 20 } 
{ "_id" : 1, "name" : "user1", "userid" : 1, "age" : 20 } 
{ "_id" : 2, "name" : "user2", "userid" : 2, "age" : 20 } 
{ "_id" : 3, "name" : "user3", "userid" : 3, "age" : 20 } 
{ "_id" : 4, "name" : "user4", "userid" : 4, "age" : 20 } 

//不包含sex字段 
> db.user.find({sex:{$exists:false}}).limit(5);   

4)  $mod

$mod操作可以讓我們簡單的進行取模操作,而不需要用到where子句,如:

//where子句 
> db.user.find("this._id%10==1").limit(5); 
{ "_id" : 1, "name" : "user1", "userid" : 1, "age" : 20 } 
{ "_id" : 11, "name" : "user11", "userid" : 11, "age" : 20 } 
{ "_id" : 21, "name" : "user21", "userid" : 21, "age" : 20 } 
{ "_id" : 31, "name" : "user31", "userid" : 31, "age" : 20 } 
{ "_id" : 41, "name" : "user41", "userid" : 41, "age" : 20 } 

//$mod操作 
> db.user.find({_id:{$mod:[10,1]}}).limit(5); 
{ "_id" : 1, "name" : "user1", "userid" : 1, "age" : 20 } 
{ "_id" : 11, "name" : "user11", "userid" : 11, "age" : 20 } 
{ "_id" : 21, "name" : "user21", "userid" : 21, "age" : 20 } 
{ "_id" : 31, "name" : "user31", "userid" : 31, "age" : 20 } 
{ "_id" : 41, "name" : "user41", "userid" : 41, "age" : 20 } 

5)  $ne

$ne意思是not equal,不等于,不用多說,看例子:

> db.user.find().limit(5); 
{ "_id" : 0, "name" : "user0", "userid" : 0, "age" : 20 } 
{ "_id" : 1, "name" : "user1", "userid" : 1, "age" : 20 } 
{ "_id" : 2, "name" : "user2", "userid" : 2, "age" : 20 } 
{ "_id" : 3, "name" : "user3", "userid" : 3, "age" : 20 } 
{ "_id" : 4, "name" : "user4", "userid" : 4, "age" : 20 } 

> db.user.find({_id:{$ne:0}}).limit(5); 
{ "_id" : 1, "name" : "user1", "userid" : 1, "age" : 20 } 
{ "_id" : 2, "name" : "user2", "userid" : 2, "age" : 20 } 
{ "_id" : 3, "name" : "user3", "userid" : 3, "age" : 20 } 
{ "_id" : 4, "name" : "user4", "userid" : 4, "age" : 20 } 
{ "_id" : 5, "name" : "user5", "userid" : 5, "age" : 20 }

6)  $in

$in操作類似于傳統關系數據庫中的IN,看例子:

//數據庫中有所有數組對應的記錄 
> db.user.find({_id:{$in:[2,3,4,5,6]}}).limit(5); 
{ "_id" : 2, "name" : "user2", "userid" : 2, "age" : 20 } 
{ "_id" : 3, "name" : "user3", "userid" : 3, "age" : 20 } 
{ "_id" : 4, "name" : "user4", "userid" : 4, "age" : 20 } 
{ "_id" : 5, "name" : "user5", "userid" : 5, "age" : 20 } 
{ "_id" : 6, "name" : "user6", "userid" : 6, "age" : 20 } 

//因為數據庫中沒有_id=1111的記錄 
> db.user.find({_id:{$in:[2,3,4,5,1111]}}).limit(5); 
{ "_id" : 2, "name" : "user2", "userid" : 2, "age" : 20 } 
{ "_id" : 3, "name" : "user3", "userid" : 3, "age" : 20 } 
{ "_id" : 4, "name" : "user4", "userid" : 4, "age" : 20 } 
{ "_id" : 5, "name" : "user5", "userid" : 5, "age" : 20 }

7)  $nin

$nin跟$in操作相反,看例子:

//扣掉_id=1/2/3/4的記錄 
> db.user.find({_id:{$nin:[1,2,3,4]}}).limit(5);     
{ "_id" : 0, "name" : "user0", "userid" : 0, "age" : 20 } 
{ "_id" : 5, "name" : "user5", "userid" : 5, "age" : 20 } 
{ "_id" : 6, "name" : "user6", "userid" : 6, "age" : 20 } 
{ "_id" : 7, "name" : "user7", "userid" : 7, "age" : 20 } 
{ "_id" : 8, "name" : "user8", "userid" : 8, "age" : 20 } 

8)  $nor、$or

$nor跟$or相反,不好解釋,看例子:

> db.user.find({$nor:[{_id:2},{name:'user3'},{userid:4}]}).limit(5);   
{ "_id" : 0, "name" : "user0", "userid" : 0, "age" : 20 } 
{ "_id" : 1, "name" : "user1", "userid" : 1, "age" : 20 } 
{ "_id" : 5, "name" : "user5", "userid" : 5, "age" : 20 } 
{ "_id" : 6, "name" : "user6", "userid" : 6, "age" : 20 } 
{ "_id" : 7, "name" : "user7", "userid" : 7, "age" : 20 }

> db.user.find({$or:[{_id:2},{name:'user3'},{userid:4}]}).limit(5); 
{ "_id" : 2, "name" : "user2", "userid" : 2, "age" : 20 } 
{ "_id" : 3, "name" : "user3", "userid" : 3, "age" : 20 } 
{ "_id" : 4, "name" : "user4", "userid" : 4, "age" : 20 } 

以上所述就是本文的全部內容了,希望大家能夠喜歡。

您可能感興趣的文章:
  • java操作mongodb基礎(查詢 排序 輸出list)
  • MongoDB各種查詢操作詳解
  • php操作MongoDB基礎教程(連接、新增、修改、刪除、查詢)
  • java查詢mongodb中的objectid示例
  • MongoDB下根據數組大小進行查詢的方法
  • MongoDB查詢操作限制返回字段的方法
  • MongoDB查詢技巧總結
  • Python中的MongoDB基本操作:連接、查詢實例
  • MongoDB導出查詢結果到文件例子
  • Java操作MongoDB模糊查詢和分頁查詢

標簽:景德鎮 本溪 鶴崗 吉安 丹東 邯鄲 大理 昭通

巨人網絡通訊聲明:本文標題《淺談mongodb中query查詢》,本文關鍵詞  淺談,mongodb,中,query,查詢,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談mongodb中query查詢》相關的同類信息!
  • 本頁收集關于淺談mongodb中query查詢的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 怀来县| 庆元县| 南岸区| 疏附县| 犍为县| 信丰县| 密山市| 彭州市| 策勒县| 通辽市| 江山市| 宝鸡市| 清涧县| 应城市| 从江县| 湖南省| 会泽县| 南城县| 通榆县| 舒城县| 科技| 怀安县| 朝阳县| 竹北市| 嘉禾县| 台中县| 香格里拉县| 前郭尔| 宁南县| 星子县| 汝南县| 内黄县| 新田县| 勃利县| 黄石市| 青海省| 固始县| 遂昌县| 三门峡市| 梁平县| 民勤县|