MongoDB基本操作

基本操作

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
原文地址:https://www.cnblogs.com/uphold/p/12416142.html