MongoDB文档操作(5)

摘要:
时间戳|机器代码| PID |计数器_ id的键值可以自己输入。数据库。集合名称。remove({condition})#不写条件等于删除所有文档示例1:删除collect1集合db.collect1.remove({name:删除collect1集中名称早于25的文档。使用运算符完成公共运算符$lt(<25}})更新文档语法:修改多个文档)db。集合名称。更新(条件,

添加文档

语法:

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

注意:

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

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

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

MongoDB文档操作(5)第1张

ObjectId类型:

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

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

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

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

MongoDB文档操作(5)第2张

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

MongoDB文档操作(5)第3张

删除文档

语法:

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

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

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

MongoDB文档操作(5)第4张

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

使用操作符完成

常用操作符

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

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

MongoDB文档操作(5)第5张

更新文档

语法:

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

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

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

方法一:直接修改

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

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

MongoDB文档操作(5)第6张

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

方法二:使用修改器

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

$inc:加一个数字

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

语法:

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

MongoDB文档操作(5)第7张

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

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

MongoDB文档操作(5)第8张

查询文档

语法:

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

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

db.collect2.findOne()

MongoDB文档操作(5)第9张

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

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

MongoDB文档操作(5)第10张

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

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

MongoDB文档操作(5)第11张

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

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

MongoDB文档操作(5)第12张

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

MongoDB文档操作(5)第13张

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

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

MongoDB文档操作(5)第14张

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

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

MongoDB文档操作(5)第15张

排序并取前两个

MongoDB文档操作(5)第16张

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

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

MongoDB文档操作(5)第17张

免责声明:文章转载自《MongoDB文档操作(5)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇XCopy命令实现增量备份贝中斯公式相关知识下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubuntu下添加开机启动项的2种方法

1、方法一,编辑rc.loacl脚本 Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。当然要添加到语句:exit 0 前面才行。如: 复制代码 代码如下: sudo vi /etc/rc.local 然后在 exit 0 前面添加好脚本代码。 2、方法二,添加一个Ubuntu的...

0703-spring cloud config-git配置属性加解密之对称加密

一、概述   可以使用{cipher} *格式的加密值,只要有一个有效的密钥,那么它们将在主应用程序上下文获取环境之前被解密。要在应用程序中使用加密功能,您需要在您的类路径中包含Spring Security RSA(Maven协调“org.springframework.security:spring-security-rsa”),并且您还需要JVM中的...

MVC4 js里给对象赋值

如果需要用js给control传一个对象,那么对象的属性在c#的model必须加public,不然在js赋值时赋不了的,但是不报错,等你调试到control时,这些属性无聊如何都是null,这样会很郁闷的。 controller方法: [HttpPost] public JsonResult SaveSelectedAcPoint(Acu...

post请求body格式

在PostMan中用Post方式,Body有form-data,x-www-form-urlencoded,raw,binary四种。 其中raw又分以下7种。 现在来区分一下: form-data是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的...

使用webpack搭建vue开发环境

最近几天项目上使用了vue.js作为一个主要的开发框架,并且为了发布的方便搭配了webpack一起使用。CSS框架使用的是vue-strap(vue 对bootstrap控件做了封装)这篇文章主要总结一下具体搭建的过程,和途中遇到的一些问题的解决办法 主要用到的工具 Vue webpack vue-strap vue-router 搭建步骤 1. 首先...

inno setup读取注册表遇到的一个坑

一、背景       目前,公司针对PR开发的一个插件需要发布到64位系统上。该插件包括一个prm格式的文件和若干个DLL文件。其中,prm文件需要复制到PR公共插件目录下,DLL需要复制到Windows系统目录中去,这样插件才能正常的工作。公司现在要求发布插件时制作一个安装包,让用户点击安装包后自动将插件相关文件拷贝到相应目录去。本来用inno setu...