MongoDB学习之基本操作
小勇勇 -数据库的基本操作
选择数据库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 != 50OR条件
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})
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。