MongoDB 增删查改(CRUD) 以及一些常用命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36324685/article/details/81868951

MongoDB :

        系统自带的库为
        1.config 
        2.test
        3.admin 

linux 环境下的命令集合:

    mongo localhost:27017  mongo 连接本地mongoDB服务
    show dbs 展示所有的数据库
    show collections 展示所有的集合
    use admin 使用数据库
    db.auth() 进行用户权限认证
    db.status() 查看数据库状况,多用于分片
    db.user.drop() 删除集合
    删除数据库
    use temp
    db.runCommand( { dropDatabase: 1 } )
    官网:https://docs.mongodb.com/manual/reference/command/nav-administration/
    创建用户:
        db.createUser (
          { 
                user : “reportsUser” ,
                pwd : “12345678” ,
                roles : [ 
                   {  role : “read” , db : “reporting”  },
                   {  role : “read” , db : “products”  },
                   {  role : “读“ , db : ”sales“  },
                   {  role : ”readWrite“ ,  “accounts”  } 
                ] 
              } 
        )
  修改密码:
    db.changePassword("用户名称","新密码");//注意需要权限大于修改用户的用户权限

  查看所有用户:需要到admin上必须数据库管理员权限才能获取比如root
   db.system.users.find().pretty()
   查看用户后,一般可以做删除:
   db.system.users.remove({user:"用户名称"})

常用命令结束:开始查询命令:

集合默认生成的索引:_id  -->主键索引,如需获取索引的知识,下章介绍

============简易查询============
1.查询_id不为空的语句
    db.集合名称.find({"_id":{$ne:null}})
2.查询_id     
   db.集合名称.find("_id":objectId("sssss")); 
3.查询大于gt,小于lt,不等于,大于等于gte 小于等于lte,不等于 ne
  例子:
    大于:
    db.集合名称.find({"num":{$gt:12}})
    小于:
    db.集合名称.find({"num":{$lt:12}})
    等于:
    db.集合名称.find({"num":12})
 4.模糊查询:
 db.集合名称.find({name:{$regex:"正则表达式"}})
 5.查询分页
db.getCollection('集合名称').find({字段名称:{$regex:".*"}}).skip(开始下标).limit(每页显示数量)       
 6.显示结果的条数
 db.集合名称.find({}).count()
 7.in 语句查询
 db.集合名称.find({$in:[{},{}]})
 8.and 语句查询

复合语句查询

and or 代表的是这个框内的所有条件是and 还是or 里面还可以嵌套or and 代表有(Rsd=11 or name=111)
db.getCollection(‘Insurance’).find({ and:[{Rsd:12131},{City:12133}]})   db.getCollection(‘Insurance’).find({ or:[{Rsd:12131},{City:12133}]})

查询注意事项:

查询是带有类型:
int32 DECIMAL128 ISODATE() Long
需要强转:比如: numberInt numberLong numberDecimal ISODATE()
ISODate 格林尼治时间 六个小时

添加命令

· 1.插入
db.集合名称.insert({})
2.插入一条
db.集合名称.insertOne({})
2.插入多条
db.集合名称.insert([{},{},{},{},{}])
3.插入多条
db.集合名称.insertMany([{},{},{},{},{}])
可以用for 循环添加:
for(i=0;i<88;i++){db.集合名称.insert({})}

添加注意:
拿insert为例,如果不加中括号就是添加一条。
比如说:insert({},{},{}) 不会报语法错误,但只插入第一条。

修改命令:

1.更新匹配条件的第一个对象
db.collection.update(, , )
db.collection.updateOne(, , )
db.collection.replaceOne(, , )

db.集合名称.updateOne (
{ item : “paper” },//查询条件
{
s e t s i z e . u o m c m s t a t u s P currentDate : { lastModified : true } /
}

使用 s e t s i z e . u o m c m s t a t u s P 使 currentDate运算符将lastModified字段的值更新为当前日期。如果 lastModified字段不存在, c u r r e n t D a t e currentDate请见。
2.更新所有
db.集合名称.updateMany(, , )

options:
upsert : < boolean > ,
writeConcern : < document >
collat​​ion : < document >
官网说的很详细了:

https://docs.mongodb.com/manual/reference/method/db.collection.replaceOne/#db.collection.replaceOne

删除命令:

1.删除所有匹配条件值
db.collection.deleteMany({查询条件})
2.删除匹配条件的第一个
db.collection.deleteOne({查询条件})

猜你喜欢

转载自blog.csdn.net/qq_36324685/article/details/81868951