示例代码

1. 初始数据

> db.snapshot_test.find()
{ "_id" : ObjectId("560ba37c694895b2de42254d"), "name" : "lxy" }
{ "_id" : ObjectId("560ba381694895b2de42254e"), "name" : "zyh" }
{ "_id" : ObjectId("560ba38a694895b2de422550"), "name" : "zjj" }
{ "_id" : ObjectId("560feb75f31b120ca7308011"), "name" : "yhl" }

2. 给name=zjj的行添加age字段,增加行占用的空间

> db.snapshot_test.update({name:"zjj"},{$set:{name:"zjj",age:}})

3. 返回查询

> db.snapshot_test.find()
{ "_id" : ObjectId("560ba37c694895b2de42254d"), "name" : "lxy" }
{ "_id" : ObjectId("560ba381694895b2de42254e"), "name" : "zyh" }
{ "_id" : ObjectId("560feb75f31b120ca7308011"), "name" : "yhl" }
{ "_id" : ObjectId("560ba38a694895b2de422550"), "name" : "zjj", "age" : }

因为第三行的占用空间增大,mongdb会重新给第三条记录分配内存空间,并添加到集合的尾部

4. 快照查询结果

> db.snapshot_test.find().snapshot()
{ "_id" : ObjectId("560ba37c694895b2de42254d"), "name" : "lxy" }
{ "_id" : ObjectId("560ba381694895b2de42254e"), "name" : "zyh" }
{ "_id" : ObjectId("560ba38a694895b2de422550"), "name" : "zjj", "age" : }
{ "_id" : ObjectId("560feb75f31b120ca7308011"), "name" : "yhl" }

从返回的结果可以看出,第三行记录的顺序变回和修改空间大小之前的位置

mongodb游标快照的更多相关文章

  1. mongodb游标的使用

    1.插入数据 ;i<;i++){ db.shop.insert({_id:i+,name:+i}) } 2.查看数据数 db.shop.find().count() 3.获取游标.判断是否还存在 ...

  2. MongoDB游标操作(4)

    游标是什么? 通俗的说,游标不是查询结果,而是查询的返回资源,或者接口. 通过这个接口,你可以逐条读取. 声明游标: var cursor =  db.collectioName.find(query ...

  3. 【翻译】MongoDB指南/CRUD操作(三)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...

  4. mongodb 修改数据结构的一个例子以及小梳理

    mongodb的存储结构是灵活可变的,但是,并不意味着我们就肆意地使用不规则的文档结构.不规则的文档结构对于开发和后期的维护都是一个灾难.所以,还是要有一个约定的格式. 但是,由于前期设计的不周详和其 ...

  5. mongodb3.2系统性学习——5、游标 模糊查询 findAndModify函数

    1首先介绍查询结果 返回的过程: 进行查询的时候mongodb 并不是一次哪个返回结果集合的所有文档,而是以多条文档的形式分批返回查询的结果,返回文档到内存中. 好处: 减少了客户端与服务器端的查询负 ...

  6. mongoDB入门必读(概念与实战并重)

    一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是 ...

  7. MongoDB入门必读(概念与实战并重)

    MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个 ...

  8. MongoDB整理笔记のCRUD

    添加 下面我们来建立一个test 的集合并写入一些数据.建立两个对象j 和t , 并保存到集合中去.在例子里 “>” 来表示是 shell 输入提示符    > j = { name : ...

  9. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

随机推荐

  1. nm命令介绍

    一.参考文章 网址1:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/nm.html 参考2: man nm 参考3:<linux ...

  2. FHQ treap板子

    感觉这个玩意就是拆来拆去,所以没啥可学习的 粘一下两个题的代码吧 LGOJ 普通平衡树 #include <bits/stdc++.h> using namespace std; #def ...

  3. 通过特殊处理 Resize 事件解决 WinForm 加载时闪烁问题的一个方法

    WinForm 上放置的控件多了或者有大背景图,窗体加载时就会闪烁,对于一般的闪烁,设置 DoubleBuffer=True或许有一点改善,要立竿见影的解决可以重载 CreateParams 使用 W ...

  4. 学习ECC及Openssl下ECC生成密钥的部分源代码心得

    一.ECC的简介 椭圆曲线算法可以看作是定义在特殊集合下数的运算,满足一定的规则.椭圆曲线在如下两个域中定义:Fp域和F2m域. Fp域,素数域,p为素数: F2m域:特征为2的有限域,称之为二元域或 ...

  5. 限制客户端同账号同IP多终端登录

    打开SoftEther VPN Server Manager工具,连接上节点 1.管理虚拟HUB--管理用户--双击用户--安全策略--最大多重登录数设置为1 2.管理虚拟HUB--虚拟HUB属性-- ...

  6. jsonConfig用法

    1.先编写jsonConfig的初始化代码 private JsonConfig jsonConfig; public action构造方法() { jsonConfig = new JsonConf ...

  7. git相关学习地址

    https://git-scm.com/book/zh/v2    这篇文章写得不错,值得一读

  8. 多对多表创建、forms组件、cookie与session

    多对多表的三种创建方式 1.全自动(较为推荐) 优势:不需要你手动创建第三张表 不足:由于第三张表不是你手动创建的,所以表字段是固定的无法扩展 class Book(models.Model): ti ...

  9. F. Moving On

    http://codeforces.com/gym/102222/problem/F fory #include<bits/stdc++.h> using namespace std; t ...

  10. ofo小黄车推出车身商业化广告,能自救成功吗?

    ofo终于还是扛不住了!作为之前与摩拜相抗衡的巨头,ofo其实也是最被看好的共享单车企业之一.可惜共享单车行业的窘境,终究不是成为巨头后就能拯救的.摩拜被美团收购后,ofo就成为巨头垂涎的目标.数十亿 ...