MongoDB操作陳述句
db.version()
查看當前所在的資料庫
db
查看當前資料庫連接的地址
db.getMongo()
查看所有資料庫
show databases # 沒有集合的資料庫不會顯示
切換資料庫
switched to db class # 沒有則創建(資料庫隱式創建)
創建集合
db.createCollection('集合名')
查看集合
show collections/show tables
插入檔案
db.集合名.insert({key:value})/db.集合名.save({key:value})
多條插入
db.集合名.insert([{key1:value1},{key2:value2}]) # 如果插入資料的集合不存在,會先創建再插入(集合的隱式創建)
查詢資料
db.表名.find()
查詢當前資料庫的狀態
db.stats()
拷貝資料
db.copyDatabase('資料庫1','資料庫2','資料庫2的地址')
洗掉集合
db.集合名.drop()
洗掉當前所在的資料庫
db.dropDatabase()
更新資料/修改資料
db.集合名.update('query','update',[upsert,multi])
query條件:(小于:$lt,大于:$gt,等于:$eq,不等于:$ne,大于等于:$gte,小于等于:$lte)
update:'更新的資料鍵':'更新后到的資料'
指定修改
db.'集合名'.update({name:'張三'},{$set:{age:17}})
upsert:可選引數,是一個布林值.作用:如果不存在update記錄,是否插入新的資料
multi:是否將查詢到的所有資料更新,true代表全部更新,false代表只更新一條.
洗掉,query是必選項
remove(query[,justone])
洗掉全部
db.集合名.remove({})
洗掉指定資料
db.集合名.remove(query,true)
根據條件查詢檔案
db.find([query,是否顯示此欄位{k:1/0}])
顯示為json
db.find([query,{k:1}]).pretty()
只查一條
db.findOne(query)
去重
Mysql:select distinct 欄位 from表
MongoDB:db.集合名.distinct(k)
邏輯查詢
and
Mysql:select * from xx where xx =xx and xx =xx
MongoDB:db.集合名,find({v1:k1,v2:k2})
or
db.集合名.find({'$or':[{k1:v1},{k2:v2}]})
限制查詢
db.集合名.find().limit(n) # 查看前幾條資料
db.集合名.find().skip(n).limit(m) # 跳過n跳后查m條
模糊查詢
db.集合名.find({key:/模糊詞/})
排序
db.集合名.find().sort({key:value})# 正序1,逆序-1
統計命令
db.集合名.find().count()
游標
回圈插入多條資料
for (var i = 1 ;i <= n;i++){
db.集合名.insert([{},{}])
}
MongoDB中的游標與Mysql中的游標非常類似,可以通過對游標進行一系列的設定來控制游標查詢資料,游標不是查詢結果,而是查詢的一個回傳資源或者介面,通過這個介面可以逐條讀取資料,和python中的 生成器類似,游標會消耗記憶體資源,在使用后應該盡快釋放掉,有標被定以后沒有變數接收就是一次查詢結果.默認一次回傳20個資料,可以通過DBQuery.shellBatchSize= n 來設定一次顯示的資料量.
游標的使用
先宣告游標
var 變數名 = db.'集合'.find()
用 next()移動游標獲取檔案
查看檔案
print(游標.next()) # 回傳資料型別()
printjson(游標.next()) # 回傳檔案內容
判斷是否還有資料
游標.hasNext()
游標的生命周期
游標迭代到最后一條后自動關閉
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/229283.html
標籤:其他
上一篇:SQL Server期末筆記
下一篇:spring的事務處理
