码迷,mamicode.com
首页 > 数据库 > 详细

mongodb游标快照

时间:2015-10-03 23:11:10      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 

技术分享

 

技术分享

 

技术分享

示例代码

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:10}})

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" : 10 }

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

4. 快照查询结果

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

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

mongodb游标快照

标签:

原文地址:http://www.cnblogs.com/phpfans/p/4853966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!