Chinaunix首页 | 论坛 | 博客
  • 博客访问: 689171
  • 博文数量: 63
  • 博客积分: 1327
  • 博客等级: 中尉
  • 技术积分: 2022
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-19 18:39
文章分类

全部博文(63)

文章存档

2013年(3)

2012年(60)

分类: Mysql/postgreSQL

2012-06-01 21:54:49


插入记录

下面我们来建立一个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 迭代输出.

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

阅读(3544) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~