https://docs.mongodb.com/manual/mongo/
1、mongo:启动mongo的客户端
[root@cmos1 bin]$ ./mongo MongoDB shell version v3.4.2 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.2 Server has startup warnings: 2017-03-28T19:32:06.747+0800 I STORAGE [initandlisten] 2017-03-28T19:32:06.747+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine 2017-03-28T19:32:06.747+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2017-03-28T19:32:07.117+0800 I CONTROL [initandlisten] >
2、db:展示当前你所使用的库
> db
tong
>
3、use:打开库 (use <database>)
> use tong
switched to db tong
>
4、show dbs:查看所有数据库
> show dbs; admin 0.000GB jetty_session 0.010GB local 0.001GB test 0.000GB tong 0.002GB >
3、给指定数据库添加集合并且添加记录
db.[documentName].insert({...})
> db.my.insert({"name":"zhang","dept":"yanfa"}) WriteResult({ "nInserted" : 1 }) >
4、查看数据库的所有文档
show collections
> show collections;
Person
fs.chunks
fs.files
my
system.profile
system.users
testdb
tong
user
>
5、查询指定文档的数据
查询所有db.[documentName].find()
> db.my.find() { "_id" : ObjectId("58da50c316910cd26a9faa26"), "name" : "zhang", "dept" : "yanfa" } >
查询第一天数据db.[documentName].findOne()
> db.my.findOne() { "_id" : ObjectId("58da50c316910cd26a9faa26"), "name" : "zhang", "dept" : "yanfa" } >
6、更新文档数据
db.[documentName].update({查询条件},{更新内容})
> db.my.update({"name":"zhang"},{"name":"zhang","dept":"renli"}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.my.find() { "_id" : ObjectId("58da50c316910cd26a9faa26"), "name" : "zhang", "dept" : "renli" } >
7、删除文档中的数据
db.[docmentName].remove({...})
> db.my.find() { "_id" : ObjectId("58da50c316910cd26a9faa26"), "name" : "zhang", "dept" : "renli" } { "_id" : ObjectId("58da51b216910cd26a9faa28"), "name" : "li", "dept" : "yanfa2" } > db.my.remove({"dept":"yanfa2"}) WriteResult({ "nRemoved" : 1 }) > db.my.find() { "_id" : ObjectId("58da50c316910cd26a9faa26"), "name" : "zhang", "dept" : "renli" } >
8、删除库中的集合
db.[docmentName].drop()
> db.my2.insert({"name":"li","dept":"yanfa2"}) WriteResult({ "nInserted" : 1 }) > db.my2.find() { "_id" : ObjectId("58da51df16910cd26a9faa29"), "name" : "li", "dept" : "yanfa2" } > db.my2.drop() true > db.my2.find() >
9、删除数据库
db.dropDatabase()
> show dbs; admin 0.000GB jetty_session 0.010GB local 0.001GB test 0.000GB tong 0.002GB > use temp28 switched to db temp28 > db.my2.insert({"name":"li","dept":"yanfa2"}) WriteResult({ "nInserted" : 1 }) > db.my2.find() { "_id" : ObjectId("58da522916910cd26a9faa2a"), "name" : "li", "dept" : "yanfa2" } > show dbs admin 0.000GB jetty_session 0.010GB local 0.001GB temp28 0.000GB test 0.000GB tong 0.002GB > db.dropDatabase() { "dropped" : "temp28", "ok" : 1 } > show dbs; admin 0.000GB jetty_session 0.010GB local 0.001GB test 0.000GB tong 0.002GB >
10、Shell的help
里面有所有的shell可以完成的命令帮助
全局的help数据库相关的db.help()集合相关的db.[databaseName].help()
11、mongoDB的API
http://api.mongodb.org/js/2.1.2/index.html
12、数据库和集合命名规范
A、不能有空字符串
B、不得含有'' (空格)、,$、/、\、和\o空字符;
C、应全部小写;
D、最多64个字节;
E、数据库名不能与现有系统保留库同名,如admin,local及config
13、这样的集合名字也是合法的
db-text但是不能通过db.[docmentName]得到了
要改为db.getCollection(documentName)
因为db-text会被当成减法操作