热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:MongoDB文档操作

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MongoDB文档操作相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MongoDB文档操作相关的知识,希望对你有一定的参考价值。




添加文档

语法:

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() # 返回集合中有多少个文档



推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 一面自我介绍对象相等的判断,equals方法实现。可以简单描述挫折,并说明自己如何克服,最终有哪些收获。职业规划表明自己决心,首先自己不准备继续求学了,必须招工作了。希望去哪 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • yum安装_Redis —yum安装全过程
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Redis—yum安装全过程相关的知识,希望对你有一定的参考价值。访问https://redi ... [详细]
  • 本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
author-avatar
大女人小诺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有