基本操作
show dbs; #查看全部数据库 show collections; #显示当前数据库中的集合(类似关系数据库中的表)
db.collection.drop() #删除集合 show tables; #与show collections;等价 show users; #查看当前数据库的用户信息 use <db name>; #切换数据库跟mysql一样 db;或者db.getName(); #查看当前所在数据库 db.help(); #显示数据库操作命令,里面有很多的命令 db.testoo.help(); #显示集合操作命令,同样有很多的命令,testoo指的是当前数据库下,一个叫testoo的集合(表),并非真正意义上的命令 db.testoo.find(); #对于当前数据库中的testoo集合进行数据查找(由于没有条件,会列出所有数据) db.testoo.find( { a : 1 } ); #对于当前数据库中的testoo集合进行查找,条件是数据中有一个属性叫a,且a的值为1 db.testoo.find().sort({"_id":1}).pretty() #打印排序且更漂亮 db.test.remove({'age':18}) #删除匹配的集合
创建一个test数据库例子:
> use test; #创建数据库,如果test库存在则是切入test库,不存在则是创建test库,但后面需要马上创建表之类,否则会被自动清理 switched to db test > db; test > show dbs; #检查数据库 admin 0.000GB local 0.000GB > db.test.insert({"_id":"520","name":"xiaoming"}) #创建表,插入,其中如_id不进行定义,则会自动生成。db.test.save 方法也可以,是修改及新增 #插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
> db.createUser({user:"xiaoming",pwd:"123456",roles:[{role:"userAdmin",db:"test"}]}) #创建用户 Successfully added user: { "user" : "xiaoming", "roles" : [ { "role" : "userAdmin", "db" : "test" } ] } db.removeUser("userName"); #删除用户 show users; #显示当前所有用户 db.dropDatabase(); #删除当前使用数据库 > show dbs; admin 0.000GB local 0.000GB test 0.000GB test_1 0.000GB > db; test_1 > db.dropDatabase(); { "dropped" : "test_1", "ok" : 1 } > show dbs; admin 0.000GB local 0.000GB test 0.000GB
db.user.update() #更新集合内容
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
参数说明:
- query : update的查询条件,类似sql update查询内where后面的。
- update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
- upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
- multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern :可选,抛出异常的级别。
> db.user.update({age:23},{$set:{age:24}},{multi:true}) #加入{multi:true}可以同时修改匹配到的多条,如果不加只改匹配到的第一条。
db.stats() #显示当前db的状态
> db.stats() { "db" : "test", "collections" : 2, "views" : 0, "objects" : 3, "avgObjSize" : 47.666666666666664, "dataSize" : 143, "storageSize" : 49152, "numExtents" : 0, "indexes" : 2, "indexSize" : 49152, "fsUsedSize" : 11510308864, "fsTotalSize" : 18569568256, "ok" : 1 }
db.version() #当前db版本
> db.version() 4.0.1
db.getMongo() #查看当前db的链接机器地址
> db.getMongo() connection to 127.0.0.1:27017
开启远程访问
编辑配置文件:vi /etc/mongod.conf bindIp: 172.16.xx.xxx #数据库所在服务器IP地址 保存重启数据库! > ./mongo 172.16.xx.xxx:27017/admin -u user -p password