文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MongoDB文档操作(5)

2020-01-10 21:15

关注

MongoDB文档操作(5)

添加文档

语法:

db.集合名.insert({k1:"v1", k2:"v2"....})

注意:

(1)文档就是键值对,数据类型是BSON格式,支持的值更加丰富。

比如:db.集合名.insert({name:"bashlog", spc:{weight:100, address:"henan"}})

(2)在添加的文档里面,都有一个"_id"的键,值为对象类型。

ObjectId类型:

每个文档都有一个_id字段,并且同一集合的_id值唯一,该字段可以是任意类型的数据,默认是一个ObjectId对象。

ObjectId对象数据组成:时间戳|机器码|PID|计数器

_id的键值我们可以自己输入,但是不能重复

注意:在插入数据的时候,如果_id的值重复则会报错。

(3)可以使用js代码来完成批量插入文档。

删除文档

语法:

db.集合名.remove({条件}) # 不写条件等于删除所有文档

示例1:删除collect1集合中name等于AK3的文档

db.collect1.remove({name:"ack3"})

示例2:删除collect1集合中年龄大于25的文档

使用操作符完成

常用操作符

$lt(<), $lte(<=), $gt(>), $gte(>=), $ne(<>), $in, $nin, $or, $not, $mod(取模), $exists, $where

db.collect1.remove({age:{"$gt":25}})

更新文档

语法:

db.集合名.update({条件},{新的文档},是否新增,是否修改多条)
db.集合名.update(条件,新文档,是否新增,是否修改多条)

是否新增:如果值是1(true),则没有满足条件的就添加。

是否修改多条:若值是1(true),如果满足条件的有多个文档则都要修改

方法一:直接修改

示例:在collect2集合里面,要修改age=27的文档名称为AK48

db.collect2.update({age:27},{name:"AK48"})

注意:以上修改方式,会丢失其它的键值,因此不推荐使用。

方法二:使用修改器

示例:要修改age=25的文档名称为"big_bash_log",并且其它键值不能丢失

$inc:加一个数字

set:修改某一个字段,如果该字段不存在就增加这个字段

语法:

db.集合名.update({条件},{修改器的名称:{修改的键:修改的新值}})

修改age=12的文档,年龄增加10岁

db.collect2.update({age:12},{"$inc":{age:10}})

查询文档

语法:

db.集合名.find({条件})

示例:取出collect2集合里面的第一个文档

db.collect2.findOne()

示例:取出collect2集合里面name=bash的文档

db.collect2.find({name:"bash"})

示例:取出collect2集合中age大于11的文档

db.collect2.find({age:{"$gt":11}})

示例:取出collect2集合里面的文档,只显示name键

db.collect2.find({},{name:1}) # 1表示只显示name的键值

name=0表示,显示除了name以外的键值

示例:根据年龄的(降序|升序)来显示文档

db.集合名.find().sort({age:1}) # 根据年龄升序
db.集合名.find().sort({age:-1}) # 根据年龄降序

示例:显示collect2集合中前2个文档

db.collect2.find().limit(2)

排序并取前两个

示例:统计collect2集合中文档的个数

db.集合名.count() # 返回集合中有多少个文档

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯