MongoDB數(shù)據(jù)庫常用操作命令
- use school 切換到school邏輯庫中,不存在會進行創(chuàng)建
- show dbs 查看邏輯庫
- db.student.save({name:"meto",sex:"male",age:25,city:"Beijing"}) 向數(shù)據(jù)表中保存數(shù)據(jù)
- db.student.find() 查找數(shù)據(jù)表中的數(shù)據(jù)
- db.dropDatabase() 刪除邏輯庫
管理集合
db.createCollection('ss') 創(chuàng)建集合
show collections 查看集合
db.ss.drop() 刪除集合
db.ss.count() 查看集合記錄數(shù)量
db.ss.dataSize() 查看數(shù)據(jù)空間容量
db.ss.renameCollection('sss') 重命名集合
使用save函數(shù)添加一條或者多條記錄
db.ss.save([
{name:"meto1", sex:"男", age:24},
{name:"meto2", sex:"女", age:25},
{name:"meto3", sex:"男", age:24},
])
mongoDB表達式必須攜程JSON格式
表達式 意義
$lt 小于
$gt 大于
$lte 小于等于
$gte 大于等于
$in 包括
$nin 不包括
$ne 不等于
$all 全部
$not 取反
$or 或關系
$exists 含有字段
$regex 正則表達式
// regex
db.ss.find({"name":{"$regex":"^代課"}})
// all
db.ss.save({name:"meto",role:["代課老師","班主任","校長"]})
db.ss.find({role:{$all:["班主任","校長"]}})
//not
db.ss.find({
age:{$not:{$gte:28,$lte:30s}}
})
// or
db.ss.find({$or:[{age:{$lt:30},sex:"男"},{age:{$lt:25},sex:"女"}]})
// exists
db.ss.find({total:{$exists:1}})
MongoDB支持正則表達式查找數(shù)據(jù)
//^表示開頭扯躺,$表示結尾
db.ss.find({name:/^張/})
db.ss.find({name:/^[a-zA-Z]{2,10}$/})
分頁查找數(shù)據(jù)
- 可以利用skip()和limit()實現(xiàn)分頁查詢
#取十條記錄
db.ss.find().limit(10)
#從第20條記錄開始,往后取10條記錄
db.ss.find().skip(20).limit(10)
數(shù)據(jù)排序
- sort()函數(shù)可以用來對結果集進行排序,1代表升序,-1代表降序
db.ss.find().sort({name:1})
db.ss.find().sort({name:-1}).skip(10).limit(10)
- 排除重復 distinct()函數(shù)替代find()函數(shù)查找不重復的記錄
db.ss.distinct("name")
// 返回1是降序血当,-1是升序
db.ss.distinct("name").sort(function(){return -1})
db.ss.distinct("name").slice(0,5)