mongodb 基本命令
show dbs or db
當前數據庫
use dbs
切換指定數據庫,若進行過操縱則自動創建該數據庫
show collections
當前數據庫的所有集合
db.stats()
當前數據庫的統計信息
db.getCollectionNames()
當前數據庫的集合名稱列表
db.getCollection(
db.getLogComponents(
db.getQueryOptions(
db.getSlaveOk(
db.getCollectionInfos(
db.getMongo(
db.getReplicationInfo(
db.getUser(
db.getCollectionNames(
db.getName(
db.getRole(
db.getUsers(
db.getLastError(
db.getPrevError(
db.getRoles(
db.getWriteConcern(
db.getLastErrorCmd(
db.getProfilingLevel(
db.getSiblingDB(
db.getLastErrorObj(
db.getProfilingStatus(
db.getSisterDB(
db.createCollection()
創建集合
db.mycoll.drop()
刪除集合
db.storeCollection.save()
更新記錄
db.storeCollection.findOne()
查詢一條記錄
db.storeColletion.find()
查詢多條記錄
db.sotreColletion.remove()
刪除記錄
db.dropDatabase()
刪除當前的數據庫,但上下文還是當前的
下面是其他刪除的數據
db.dropAllRoles( db.dropAllUsers( db.dropDatabase( db.dropRole( db.dropUser(
db.serverStatus()
當前服務器的狀態,查看是否存在問題,便於修復
mongodb 符號&查詢
查詢方式
$lt:<
$lte:<=
$gt:>
$gte:>=
$ne:!=
> db.student.find({age:{$lt:30}})
{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }
{ "_id" : 2, "name" : "lisi", "age" : 27 }
{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }
> db.student.find({age:{$ne:27}})
{ "_id" : 3, "name" : "wangwu", "age" : 30 }
{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }
{ "_id" : 5, "name" : "qianliu", "age" : 33 }
{ "_id" : 6, "name" : "sunba", "age" : 32 }
in:包含 nin:不包含
> db.student.find({age:{$in:[27,28]}})
{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }
{ "_id" : 2, "name" : "lisi", "age" : 27 }
{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }
> db.student.find({age:{$nin:[27,28]}})
{ "_id" : 3, "name" : "wangwu", "age" : 30 }
{ "_id" : 5, "name" : "qianliu", "age" : 33 }
{ "_id" : 6, "name" : "sunba", "age" : 32 }
$or:或者
> db.student.find({$or:[{age:{$lt:29}}, {name:"sunba"}]})
{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }
{ "_id" : 2, "name" : "lisi", "age" : 27 }
{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }
{ "_id" : 6, "name" : "sunba", "age" : 32 }
null:空值
> db.student.find({sex: null})
{ "_id" : 2, "name" : "lisi", "age" : 27 }
{ "_id" : 3, "name" : "wangwu", "age" : 30 }
{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }
{ "_id" : 5, "name" : "qianliu", "age" : 33 }
{ "_id" : 6, "name" : "sunba", "age" : 32 }
$type:鍵是某種類型的
double:1
string:2
…
> db.student.insert({_id:7, name:7, age:70})
WriteResult({ "nInserted" : 1 })
> db.student.find({name: {$type: 2}})
{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }
{ "_id" : 2, "name" : "lisi", "age" : 27 }
{ "_id" : 3, "name" : "wangwu", "age" : 30 }
{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }
{ "_id" : 5, "name" : "qianliu", "age" : 33 }
{ "_id" : 6, "name" : "sunba", "age" : 32 }
> db.student.find({name: {$type: 1}})
{ "_id" : 7, "name" : 7, "age" : 70 }
正則表達式
> db.student.find({name: /si\b/})
{ "_id" : 2, "name" : "lisi", "age" : 27 }