数据库的基本操作
抉择数据库
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})