β

MongoDB:插入记录( Insert )

PostgreSQL DBA 4 阅读
 


相比关系型数据库的 INSERT 操作, MongoDB 的插入操作虽然别扭,但依然简单,
以下练习了 MongoDB 的插入操作。


一. 插入方式一:
--1.1 插入数据

> x={id:1};x={id:1};
{ "id" : 1 }
> y={id:2};y={id:2};
{ "id" : 2 }

> db.test_1.save(x);
> db.test_1.save(y);

> db.test_1.find();
{ "_id" : ObjectId("50a0d35ceb825d827b0c3f99"), "id" : 1 }
{ "_id" : ObjectId("50a0d375eb825d827b0c3f9a"), "id" : 2 }

备注:这里通过先创建对像 x,y ,然后将它们保存在 test_1 中。

--1.2 显示 collections

> show collections;
system.indexes
test_1
things
things_1

备注:test_1 已自动创建,这也说明 MongoDB 不需要预先定义 collections ,在第一次插入数据
后,collections 会自动的创建。


二. 插入方式二:
-- 2.1 插入数据

> db.test_2.save({id:1,name:'francs'} );
> db.test_2.save({id:2,name:'fpZhou'} );
> db.test_2.save({id:3,name:'tutu'} );
> db.test_2.save({id:4,name:'am',address:'zhoushan'} );


--2.2 查询数据

> db.test_2.find();
{ "_id" : ObjectId("50a0d46ceb825d827b0c3f9b"), "id" : 1, "name" : "francs" }
{ "_id" : ObjectId("50a0d46ceb825d827b0c3f9c"), "id" : 2, "name" : "fpZhou" }
{ "_id" : ObjectId("50a0d46ceb825d827b0c3f9d"), "id" : 3, "name" : "tutu" }
{ "_id" : ObjectId("50a0d46deb825d827b0c3f9e"), "id" : 4, "name" : "am", "address" : "zhoushan" }

备注: 相比方法一,插入数据时没有预先通过创建对像x,y; 而且不同的 documents 可以有
不同的字段(如第四条 documents 多了 "address" 字段)。


--2.3 循环插入数据

> for (var i = 1; i <= 30; i++) db.things.save({id : i, name : 'aaa'});


--2.4 查询 things 数据

> db.things.find();
{ "_id" : ObjectId("50a0d637eb825d827b0c3f9f"), "id" : 1, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa0"), "id" : 2, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa1"), "id" : 3, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa2"), "id" : 4, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa3"), "id" : 5, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa4"), "id" : 6, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa5"), "id" : 7, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa6"), "id" : 8, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa7"), "id" : 9, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa8"), "id" : 10, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fa9"), "id" : 11, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3faa"), "id" : 12, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fab"), "id" : 13, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fac"), "id" : 14, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fad"), "id" : 15, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fae"), "id" : 16, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3faf"), "id" : 17, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb0"), "id" : 18, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb1"), "id" : 19, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb2"), "id" : 20, "name" : "aaa" }
Type "it" for more
> it
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb3"), "id" : 21, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb4"), "id" : 22, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb5"), "id" : 23, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb6"), "id" : 24, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb7"), "id" : 25, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb8"), "id" : 26, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fb9"), "id" : 27, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fba"), "id" : 28, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fbb"), "id" : 29, "name" : "aaa" }
{ "_id" : ObjectId("50a0d637eb825d827b0c3fbc"), "id" : 30, "name" : "aaa" }

备注:默认只显示 20 条记录, 如需浏览更多记录,键入"it" 命令就可以了。


三. 总结

通过以上练习,有以下几点需要总结:
1 MongoDB 不需要预先定义 collections,在数据第一次插入时 collections 被自动创建。
2 在一个 collections 中不同的 documents 可以有不同的字段。
3 在 collections 中的每个 documents 在插入时会分配一个不同的 ObjectId,字段为 "_id"。

四. 参考
http://www.mongodb.org/display/DOCS/Tutorial

 
作者:PostgreSQL DBA
Francs 的博客
原文地址:MongoDB:插入记录( Insert ), 感谢原作者分享。

发表评论