关于mongodb:MongoDB学习之基本操作

52次阅读

共计 2196 个字符,预计需要花费 6 分钟才能阅读完成。

数据库的基本操作

抉择数据库

use + 数据库名称 use mock          

创立数据库

use + 要创立的数据库名称 -> 而后插入一条数据 ===> show dbs 就能看见新的数据库了       

删除数据库

 首先应用 use + dbName 切换到要删除的数据库 -> 而后输出以下命令 db.dropDatabase()              

汇合的基本操作

插入操作格局

 插入一条 db.< 汇合 >.insertOne(<JSON 对象 >) 
插入多条 db.< 汇合 >.insertMany([<JSON 对象 >,<JSON 对象 >,<JSON 对象 >])          

查看有哪些汇合

show tables 或者 show collections

创立一个汇合

1. 间接应用 db.< 汇合 >.insert 的形式 
2. 创立一个空集合 db.createCollection("< 汇合名称 >")              

创立一个汇合的时候还能够指定一些参数

字段 类型 形容
capped 布尔 (可选)如果为 true,设置这个汇合为固定汇合,须要指定这个汇合的最大值,当插入数据会超过这个汇合的值的时候,新的数据会笼罩最老的数据,并且数据不能不能被批改。
size 数值 (可选)汇合的最大值,即当 capped 为 true 的时候设置。
max 数值 (可选)汇合中的数据最大条数。

​ \# 如果说我把这个汇合的 max 设置为 3 db.< 汇合 >.insertMany(< 对象 1 >,< 对象 2 >,< 对象 3 >,< 对象 4 >) #下面这条语句执行完后应用 db.< 汇合 >.find() 查问这个汇合的所有数据 后果会是:< 汇合 2 >,< 汇合 3 >,< 汇合 4 >

删除汇合

1. 抉择汇合所在的数据库 
2. 删除汇合 db.< 汇合 >.drop()        

替换汇合中的一条数据

db.< 汇合 >.replaceOne(<JSON>,<JSON>) 
db. 汇合.replaceOne({"name":"小明"},{"name":"小明","sex":"女"}) -- 将一条满足名字为小明的数据替换成   

更新操作

db.< 汇合 >.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
query:相似于 sql 中的 where 条件 属于 筛选数据
update:相似于 sql 中的 set 属于 要更新的数据
upsert:(可选) 如果数据不存在的话 做 insert 操作,默认 false 不操作
multi:(可选) 是否更新多条数据 默认为 false 当有多条数据合乎 query 条件时只更新第一条
writeConcern:(可选) 抛出异样的级别。db.china.update({"name":"苑勇"},{$set:{"province":"北京"}},{"upsert":true});
#除此之外 mongodb 还细分了 db.< 汇合 >.updateOne() 和 db.< 汇合 >.updateMany()

删除操作

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
query:筛选条件
justOne:如果是 true 或者 1 只删除筛选出的第一条 默认 false 全删 
操作 格局 RDBMS 中的相似语句
等于 {:},{$eq:[A,B]} where = ‘ 菜鸟教程 ’where A = B
小于 {:{$lt:}} where < 50
小于或等于 {:{$lte:}} where <= 50
大于 {:{$gt:}} where > 50
大于或等于 {:{$gte:}} where >= 50
不等于 {:{$ne:}} where != 50

OR 条件

db.< 汇合 >.find(
   {
      $or: [{key1: value1}, {key2:value2}
      ]
   }
)

db.usa.find({$or:[{age:{$gt:26}},{name:"mike"}]})

AND 条件

db.< 汇合 >.find({key1:value1, key2:value2})
等同于
db.< 汇合 >.find({$and:[{key1:value1},{key2:value2}]})

db.usa.find({age:{$gt:10},age:{$lt:25}})
等同于
db.usa.find({$and:[{age:{$gt:10}},{age:{$lt:25}}]})

联结应用

db.usa.find({$or:[{age:{$gt:10},age:{$lt:25}},{name:"wade"}]})

同样以上的这些条件筛选也能够用于批改和删除

类型判断

 能够在条件操作时应用类型筛选 例如:查问 age 是用 string 类型的 
db.< 汇合 >.find({age:{$type:"string"}})    

限度数量

 在查问时限度查出来的条数 db.< 汇合 >.find(< 条件 >).limit(< 条数 >)           

跳过行数

 跳过行数 db.< 汇合 >.find(< 条件 >).skip(< 条数 >) 
个别联合 limit 应用 db.< 汇合 >.find(< 条件 >).limit(m).skip(n) 相当与 sql 外面的 limit n,m       

排序

 相当于 sql 中的 order by 
依据 age 字段升序排序 相当与 sql 中的 order by age asc db.< 汇合 >.find(< 条件 >).sort({age:1}) 
依据 age 字段降序排序 相当与 sql 中的 order by age desc db.< 汇合 >.find(< 条件 >).sort({age:-1})  

正文完
 0