MongoDB基本API
weixin_34370347發表於2018-09-20
為資料庫新增使用者和許可權
db.createUser({user:'root',pwd:'root',roles:[role:'root',db:'test']})
: 為當前的db建立一個使用者
mongod --auth
: 開啟服務並啟動認證
- 連線資料庫時需要輸入認證資訊
資料庫操作
- 建立資料庫:
use test
就會建立對應的資料庫
- 刪除資料庫:
test.dropDatabase()
表(集合)操作
- 增:
db.people.insert({name:'test',age:22,sex:'male'})
- 刪:
db.people.remove({name:'test'})
- 改:
db.people.update({name:'test'},{$set:{name:'demo'}})
- 查:
db.people.find({name:'tets'},{age:true,sex:1}).pretty()
第二個引數來過濾要查詢的欄位
- 刪表:
db.people.drop()
- 改補充:
db.collection.update(criteria,objNew,upsert,multi)
upsert[true:不存在這條記錄時插入,false:不插入],multi:查詢出來的記錄全部更新
不等修飾符
$lt
: less-than小於
$lte
: less-than-equal小於等於
$gt
: greater-than大於
$gte
: greater-than-equal大於等於
$ne
: not-equal不等於
多條件查詢
db.people.find({age:{$in:[10,20]}})
:查詢年齡為10和20的
db.people.find({$or:[{name:'test'},{sex:'female']})
:查詢名字為test或性別為女的
db.people.find({$and:[{name:'test',{sex:'male'}]})
:查詢名字test且性別為male的
db.people.find({age:{$not:{$eq:22}}})
:查詢年齡不為22的
陣列查詢
- 查詢陣列包含某屬性
db.people.find({interest:'聽歌'})
查詢interest陣列中包含'聽歌'的所有
db.people.find({interest:{$all:["看電影","看書"]}})
db.people.find({interest:{$in:['遊戲','打球']}})
查詢興趣是遊戲和打球中的
db.people.find({interest:{$size:2}})
查詢興趣長度為2
db.people.find({},{interest:{$slice:1}})
只展示興趣的一項,如果-1則顯示最後一個
find查詢後面的引數
limit(2)
從資料庫中取出的數量
skip(2)
跳過幾個再取
db.people.find({$where:'this.age>20'})
查詢年齡大於20的文件