1.新搭建的环境没有安全验证,很容易被入侵,两个基础的安全模式:
1:一个改端口号,把默认27017改了,对方不知道端口号就没法入侵
2:建安全验证用户,先关闭安全验证,插入用户后再开启安全验证,以后就需要账户密码登录验证了,因为admin库特殊,先为它建立安全验证,以后就通过他建其他库,然后再为其他库建安全验证登录,基础命令如下:
db = db.getSiblingDB('admin')
db.createUser({user: 'MONGO_INITDB_ROOT_USERNAME',pwd: 'MONGO_INITDB_ROOT_PASSWORD',roles: [{ role: 'root', db: 'admin' }]});
use admin;
db.auth('MONGO_INITDB_ROOT_USERNAME','MONGO_INITDB_ROOT_PASSWORD');
use idms;
db.createUser({user:'idms',pwd:'IDMS_PASSWORD',roles:[{role:'readWrite',db:'idms'}]});
2.数据库的简单操作
1.显示当前所有的数据库
show dbs ;
show databases ;
2.创建数据库实例
use 数据库名
- 使用use时,如果数据库存在则会进入到相应的数据库,如果不存在则会自动创建
- 一旦进入数据库,则可以使用db来引用当前库
- 查看自己在哪个数据库
db 表示当前所处的数据库,有点类似于java中的this
- 查看当前数据库有哪些集合
show collections ;
①向数据库插入文档
db.collection.insert(doc);
举例:向集合user中添加一个用户对象 {name:"Jack",age:20,gender:"man"}
/**插入单个文档**/
db.user.insert({name:"曹操",age:18,gendor:"man"})
db.user.insert({name:"刘备",age:30,gendor:"man"})
/**插入多个文档*/
db.user.insert([
{name:"诸葛亮",age:58,gendor:"man"},
{name:"司马懿",age:25,gendor:"man"}
])
② 查询
db.collection.find();
db.user.findOne({age:30})
③修改
db.collection.update(查询条件,新对象)
db.user.update({name:"曹操"},{$set:{age:18,mobile:"13899754672"}})
④删除文档
db.user.insert([{name:"test"},{name:"test"}])
db.user.remove({name:"test"},true)
⑤删除所有文档:
db.collection.remove({});
⑥删除集合:
db.collection.drop();
⑦删除库:
db.dropDatabase()