MongoDB 基本命令

3.MongoDB 基本命令

3.1 数据库操作

3.1.1 查看数据库

show dbs

3.1.2 创建数据库

use articledb

如果不存在articledb数据库,会自动创建

此时如果再输入show dbs 查看数据库,发现没有新增。这是因为mongoDB新建数据库的时候,会先在内存中创建,当数据库中有集合的时候,才会持久化到磁盘中。

3.1.3 删除数据库

db.dropDatabase()
3.2 集合操作

3.2.1 集合创建

显式创建

db.createCollection("my")

3.2.2 查询集合

show collections

3.2.3. 删除集合

db.集合名.drop()
3.3 文档操作

3.3.1 插入文档

db.集合名.insert(json串)

# 批量插入
db.集合名.inserMany(json串数组)

如果集合不存在,会自动创建

3.3.2 查询所有文档

db.集合名.find()

3.3.3 查询指定条件的文档

db.集合名,find({field:value})

3.3.4. 只返回一个文档

db.集合名.findOne({field:value})

3.4.4 只返回部分字段

db.集合名.find({field:value}, {字段名:1, 字段名:0})   # 1表示显示,0不显示

3.4.5. 文档的更新

例:修改_id 为1的记录的点赞量为1001

db.集合名.update({_id: "1"}, {likenum: NumberInt(1001)})

执行后发现,这条文档除了likenum字段其它字段都不见了

为了解决这个问题,需要使用修改$set实现

db.集合名.update({_id: "1"}, {$set: {likenum:NumberInt()}})

批量修改

# 默认只修改第一条数据
db.comment.update({userid: "1003"}, {$set:{nickname: “撒撒”}})

# 批量修改
db.comment.uodate({userid: "1003"}, {$set: {nickname: "撒撒"}, {multi:true})

列值增长

db.comment.update({userid: "1003"}, {$inc: {likenum: NumberInt(1)}})

3.4.6 删除文档

语法结构

db.集合名称.remove(条件)

# 删除id=1的文档
db.comment.remove({_id:1})

#将数据全部删除
db.comment.remove({})

3.4.7 文档分页查询

统计文档个数

db.comment.count()

查询前两条

db.comment.find().limit(2)

查询第三四条

db.comment.find().limit(2).skip(2)

3.4.7. 排序查询

以userid升序排列

db.comment.find().sort({userid:1})

以userid降序, likenum升序

db.comment.find().sort({userid:-1, likenum:1})
3.4 正则的复杂条件查询

格式:

db.集合名字.find({字段:/正则表达式/})

查询content字段包含“开水”的文档

db.comment.find({content:/开水/})

查询点赞数大于700的所有文档

db.comment.find({likenum:{$gt: 700}})

查询评论的集合中userid字段包含1003或1004的文档

db.comment.find({userid: {$in:["1003", "1004"]}})

查询评论集合中likenum大于等于700并且小于2000的文档

db.comment.find({$and: [{likenum:{$gte:NumberInt(700)}}, {likenum:{$lt: NumberInt(2000)}}]})

查询评论集合中userid为1003, 或者点赞数小于1000的文档

db.comment.find({$or: [{userid:"1003"}, {likenum: {$lt:1000}}]})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值