集合物件:
db.collectionname
獲取集合物件:
db.getcollection('collection_name')
e.g.
db.getcollection("class0").insert()
select ... from tablename where ...
db.collectionname.find()
—>
select * from tablename
find(query, field)
返回:返回所有查詢到的內容
field 引數: 選擇要展示的域,傳一組鍵值對
鍵表示網域名稱
值表示是否顯示該域 0表示不顯示 1表示顯示
e.g.query引數:以鍵值對的形式給出查詢條件
db.class0.find({},)
查詢年齡 17
e.g.db.class0.find(,)
* 如果不寫第乙個引數則表示查詢所有內容
findone()
功能引數和find()
完全相同,只是只返回第一條查詢到的文件
e.g.db.class0.findone()
query的更多用法
操作符:使用$符號註明的乙個特殊字串,表示一定的含義
比較操作符
$eq 等於
e.g.
db.class0.find(},)
篩選年齡等於17的
===>等同於db.class0.find(,)
* mongo中字串也可以比較大小
$lt 表示 小於
$lte 小於等於 <=
$gt 大於 >
$gte 大於等於 >=
$ne 不等於 !=
db.class0.find(,})
* 如果乙個文件沒有這個age域則顯示為不等於
$in 包含
$nin 不包含
邏輯操作符
$and 邏輯與
$or 邏輯或
$not 邏輯非
\nor 既不也不
陣列查詢
檢視陣列中包含某一項的
db.class1.find(,)
$all
查詢乙個陣列中同時包含多項的文件
*e.g.
db.class1.find(},)
查詢hobby中既有gm,又有yx的文件
$size
查詢陣列元素中個數為指定個數的文件
*e.g.
db.class1.find(},)
查詢hobby陣列中包含4項的文件
陣列切片顯示
$slice
對陣列切片顯示
*e.g.
db.class1.find(},})
顯示查詢到的陣列的前兩項
db.class1.find(},})
跳過第一項,顯示後面兩項
(}
)
其他查詢方法
$exists
判斷乙個域是否存在
*e.g.
db.class1.find(},})
查詢class1中包含hobby域的文件
()$mod
做除數查詢
*e.g.
db.class1.find(},)
age能被3整除的
db.class1.find(},)
age能被2除餘1的
(,x代表除數,y代表餘數)
$type
查詢指定資料型別的文件
db.class1.find(},)
進一步的資訊篩選
distinct()
功能:檢視乙個集合中某個域值的覆蓋範圍
*e.g.
db.class1.distinct('age')
檢視class1中age域的值都有哪些(所包含的文件)
pretty()
將查詢結果格式化顯示
*e.g.
db.class1.find().pretty()
limit(n)
功能:查詢結果顯示前n條
(限制顯示數量)
skip(n)
功能:顯示時跳過前n條
count()
功能:對查詢結果級數統計
*e.g.
統計***為m的文件數量
db.class1.find(,).count()
sort()
功能:對查詢結果排序
1 表示公升序排列,-1 表示降序排列
*e.g.
db.class1.find(},).sort()
對查詢結果將年齡小於50的文件參照age進行公升序排列
復合排序
當第一排序項相同的時候,按照第二排序項排序
db.class1.find(},).sort(,)
(用age進行公升序排列,再按照name進行降序排列)
函式的連續使用
獲取集合中年齡最小的三個文件
db.class1.find({},).sort().limit(3)
db.collectionname.remove(query, justone)
功能:刪除指定的文件
引數:
query:篩選要刪除的文件,類似where子句,用法同 查詢操作中的用法
justone:布林值,預設為 false 表示刪除所有篩選資料,如果賦值為true 則表示只刪除第一條符合的文件
e.g.刪除第乙個符合條件的文件
db.class1.remove(},}]},true)
刪除集合中所有的文件
db.collectionname.remove({})
建立乙個資料庫 名字grade
資料庫中建立乙個集合名字class
集合中插入若干資料 文件格式如下
hobby:
draw sing dance basketball football pingpong computer
查詢練習
檢視班級所有人資訊
檢視班級中年齡為8歲的學生資訊
檢視年齡大於10歲的學生的資訊
檢視年齡在4–8歲之間的學生資訊
找到年齡為6歲且為男生的學生
找到年齡小於7歲或者大於10歲的學生
找到年齡是8歲或者11歲的學生
找到興趣愛好有兩項的學生
找到興趣愛好有draw的學生
找到既喜歡畫畫又喜歡跳舞的學生
統計愛好有三項的學生人數
找出本班年齡第二大的學生
檢視學生的興趣範圍
將學生按年齡排序找到年齡最大的三個
刪除所有 年紀大於12或者小於4歲的學生
作業: 複習 資料的查詢 和刪除操作 mongo練習
MongoDB學習筆記
從接觸計算機學習開始,我所使用的資料庫就是mysql,oracle這樣的關係型資料庫。早就聽說了nosql的概念,也對其有代表性的非關係型資料庫mongodb有所耳聞,一直想學習學習這項從未使用過的技術,可是由於種種原因,又沒有時間來學習學習這項新的概念。也就是這麼巧,目前的工作中,使用到的就是mo...
mongodb學習筆記
匯入json檔案命令 mongoimport db test collection user file d new.json mongodb查詢某一條件的資料插入到集合中 var result db.csmdr.find while result.hasnext db.新建表名.insert res...
MongoDB 學習筆記
import pymongo client pymongo.mongoclient localhost 27017 利用pymongo的mongoclinet 方法構造clinet xiaoshuo client xiaoshuo 利用clinet物件建立xiaoshuo表 sheet 1 xiao...