1.mongodb入门命令
1.1 show databases; 或 show dbs; //查看当前的数据库
>show dbs;
admin0.000GB
config0.000GB
local0.000GB
1.2 use databaseName 选择库
show tables/collections 查看当前库下的collections
1.3 如何创建库
mongodb 的库是隐式创建,你可以use一个不存在的库
然后在该库下创建collection,即可创建库
1.4 db.createCollection('collectionName'); //创建collection
1.5 collection 允许隐式创建
db.collectionName.insert(document);
1.6 db.collectionName.drop(); /删除collection
> useshop
switchedtodb shop> db.createCollection('user');
{ "ok" :1}>show dbs;
admin0.000GB
config0.000GB
local0.000GB
shop0.000GB>show collections;user
1.7插入user表语句
(1)自动生成id值
db.user.insert({name:'lisi',age:22})
WriteResult({ "nInserted" :1})> db.user.find();
{ "_id" : ObjectId("5d73077c71b815674de4d152"), "name" : "lisi", "age" :22 }
(2) 指定生成id
> db.user.insert({_id:2,name:'wangwu',age:25})
WriteResult({ "nInserted" :1})> db.user.find();
{ "_id" : ObjectId("5d73077c71b815674de4d152"), "name" : "lisi", "age" :22}
{ "_id" :2, "name" : "wangwu", "age" : 25 }
(3) 插入多层
> db.user.insert({_id:3,name:'xiaobing',hobby:['basketball','football'],intro:{'title':'My intro','content':'from china'}});
WriteResult({ "nInserted" :1})> db.user.find();
{ "_id" : ObjectId("5d73077c71b815674de4d152"), "name" : "lisi", "age" :22}
{ "_id" :2, "name" : "wangwu", "age" : 25}
{ "_id" :3, "name" : "xiaobing", "hobby" : ["basketball", "football"], "intro" : { "title" : "My intro", "content" : "fromchina" } }>
1.8 其实mongodb不需要声明表,可直接写入表数据,即可创建成功!
>show tables;user
> db.goods.insert({_id:1,name:'oppoR11',price:'3000'});
WriteResult({ "nInserted" :1})>show tables;
goodsuser
>db.goods.find()
{ "_id" :1, "name" : "oppoR11", "price" : "3000" }
1.9 删除表 db.collectionName.drop();
>show collections
goodsuser
> db.goods.drop();
true>show collections;user
>
2.0 删除数据库
db.dropDatabase()
>show dbs;
admin0.000GB
config 0.000GB
local 0.000GB
shop 0.000GB> useshop;
switchedtodb shop>db.dropDatabase();
{ "dropped" : "shop", "ok" :1}>show dbs;
admin0.000GB
config 0.000GB
local 0.000GB>
2.1 查询帮助 db.help();
>db.help()
DB methods:
db.adminCommand(nameOrDocument)- switches to 'admin' db, and runs command [just calls db.runCommand(...)]db.aggregate([pipeline], {options}) - performs a collectionless aggregation on this database; returns a cursordb.auth(username, password)
db.cloneDatabase(fromhost)-deprecated
db.commandHelp(name)returns the help forthe command
db.copyDatabase(fromdb, todb, fromhost)-deprecated
db.createCollection(name, {size: ..., capped: ...,max: ...})
db.createView(name, viewOn,[{$operator: {...}}, ...], {viewOptions})
db.createUser(userDocument)
db.currentOp() displays currently executing operationsinthe db
db.dropDatabase()
db.eval()-deprecated
db.fsyncLock() flush datato disk and lock server forbackups
db.fsyncUnlock() unlocks server following a db.fsyncLock()
db.getCollection(cname) sameas db['cname'] ordb.cname
db.getCollectionInfos([filter]) - returns a list that contains the names and options of the db's collections
db.getCollectionNames()
db.getLastError() - just returns the err msg string
db.getLastErrorObj() - return full status object
db.getLogComponents()
db.getMongo() get the server connection object
db.getMongo().setSlaveOk() allow queries on a replication slave server
db.getName()
db.getPrevError()
db.getProfilingLevel() - deprecated
db.getProfilingStatus() - returns if profiling is on and slow threshold
db.getReplicationInfo()
db.getSiblingDB(name) get the db at the same server as this one
db.getWriteConcern() - returns the write concern used for any operations on this db, inherited from server object if set
db.hostInfo() get details about the server's host
db.isMaster()check replica primarystatus
db.killOp(opid) kills thecurrent operation inthe db
db.listCommands() listsallthe db commands
db.loadServerScripts() loadsall the scripts indb.system.js
db.logout()
db.printCollectionStats()
db.printReplicationInfo()
db.printShardingStatus()
db.printSlaveReplicationInfo()
db.dropUser(username)
db.repairDatabase()
db.resetError()
db.runCommand(cmdObj) run adatabase command. if cmdObj is a string, turns it into {cmdObj: 1}
db.serverStatus()
db.setLogLevel(level,)
db.setProfilingLevel(level,slowms) 0=off 1=slow 2=alldb.setWriteConcern() - sets the write concern for writes tothe db
db.unsetWriteConcern() - unsets the write concern for writes tothe db
db.setVerboseShell(flag) display extra informationinshell output
db.shutdownServer()
db.stats()
db.version()current version of the server
未完,后续补充....