个人技术分享

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 数据库名

  1. 使用use时,如果数据库存在则会进入到相应的数据库,如果不存在则会自动创建
  2. 一旦进入数据库,则可以使用db来引用当前库
  1. 查看自己在哪个数据库

db   表示当前所处的数据库,有点类似于java中的this

  1. 查看当前数据库有哪些集合

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()