MongoDB:插入记录( Insert )

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

一. 插入方式之一

1.1 插入数据

1
2
3
4
5
6
7
8
9
> 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

1
2
3
4
5
> show collections;  
system.indexes
test_1
things
things_1

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

二. 插入方式之二

2.1 插入数据

1
2
3
4
> 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 查询数据

1
2
3
4
5
> 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 循环插入数据

1
> 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

原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/237907.html

(0)
上一篇 2022年1月29日
下一篇 2022年1月29日

相关推荐

发表回复

登录后才能评论