MongoDB管理与开发精要《红丸出品》4.4 插入记录

----------------------------------------------------------------------------------------------------------------
《MongoDB管理与开发精要》、《Redis实战》作者
@CD红丸                    http://weibo.com/u/2446082491
----------------------------------------------------------------------------------------------------------------

4.4插入记录

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

> j = { name : "mongo" };

{"name" : "mongo"}

> t = { x : 3 };

{ "x" : 3  }

> db.things.save(j);

> db.things.save(t);

> db.things.find();

{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }

{ "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }

有几点需要注意一下:

l  不需要预先创建一个集合. 在第一次插入数据时候会自动创建.

l  在文档中其实可以存储任何结构的数据, 当然在实际应用我们存储的还是相同类型文档的集合.这个特性其实可以在应用里很灵活, 你不需要类似alter table语句来修改你的数据结构

l  每次插入数据时候集合中都会有一个ID, 名字叫 _id.

下面再加点数据:

> for( var i = 1; i < 10; i++ ) db.things.save( { x:4, j:i } ); > db.things.find();

{"name" : "mongo" , "_id" : ObjectId("497cf60751712cf7758fbdbb")}

{"x" : 3 , "_id" : ObjectId("497cf61651712cf7758fbdbc")}

{"x" : 4 , "j" : 1 , "_id" : ObjectId("497cf87151712cf7758fbdbd")}

{"x" : 4 , "j" : 2 , "_id" : ObjectId("497cf87151712cf7758fbdbe")}

{"x" : 4 , "j" : 3 , "_id" : ObjectId("497cf87151712cf7758fbdbf")}

{"x" : 4 , "j" : 4 , "_id" : ObjectId("497cf87151712cf7758fbdc0")}

{"x" : 4 , "j" : 5 , "_id" : ObjectId("497cf87151712cf7758fbdc1")}

{"x" : 4 , "j" : 6 , "_id" : ObjectId("497cf87151712cf7758fbdc2")}

{"x" : 4 , "j" : 7 , "_id" : ObjectId("497cf87151712cf7758fbdc3")}

{"x" : 4 , "j" : 8 , "_id" : ObjectId("497cf87151712cf7758fbdc4")}

请注意一下, 这里循环次数是10,但是只显示到第8,还有2条数据没有显示.如果想继续查询下面的数据只需要使用”it”命令,就会继续显示下面的数据:

{ "_id" : ObjectId("4c220a42f3924d31102bd866"), "x" : 4, "j" : 17 }

{ "_id" : ObjectId("4c220a42f3924d31102bd867"), "x" : 4, "j" : 18 }

has more

> it

{ "_id" : ObjectId("4c220a42f3924d31102bd868"), "x" : 4, "j" : 19 }

{ "_id" : ObjectId("4c220a42f3924d31102bd869"), "x" : 4, "j" : 20 }

从技术上讲 find() 返回一个游标对象.但在上面的例子里, 并没有拿到一个游标的变量.所以 shell 自动遍历游标,返回一个初始化的set, 并允许我们继续用 it迭代输出.

当然我们也可以直接用游标来输出, 不过这个是游标部分的内容了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值