$./mongod
$./mongod 成功连接的输出如下:
jerryMacBookhome:~ jerry$ mongo
MongoDB shell version: 2.0.1
connecting to: test
jerryMacBookhome:~ jerry$ mongo
MongoDB shell version: 2.0.1
connecting to: test shell是一个java script解释器,可以运行任何java script程序。当然这不是我们关注的重点。我们关注的是怎么在MongoDB中完成基本的CRUD操作。
2.3 基本CRUD操作
在进行操作之前,还需要补充一点基本知识。MongoDB中会使用一个变量db存储当前使用的数据库。我们连接到MongoDB数据库,默认会连接到test数据库。如果需要换到别的数据库,可以使用use dbname命令:
> use foobar
switched to db foobar
> use foobar
switched to db foobar 2.3.1 C reate:创建
我们假设需要在Persons集合中保存人员信息(姓名、年龄、信息保存日期)。可以先创建一个JS对象,然后将它插入数据库对应集合:
> p = {"name":"wawlian","age":23,"CDate":new Date()};
{
"name" : "wawlian",
"age" : 23,
"CDate" : ISODate("2011-12-01T17:13:45.671Z")
}
> db.Persons.insert(p);
> p = {"name":"wawlian","age":23,"CDate":new Date()};
{
"name" : "wawlian",
"age" : 23,
"CDate" : ISODate("2011-12-01T17:13:45.671Z")
}
> db.Persons.insert(p); 上面{}中的部分是执行上一条指令的输出。这个人员信息已经保存进去了。此外,我们之前并未创建集合Persons,这是我们在保存人员信息时根据命令,mongodb自己为我们创建的。
2.3.2 R etrieve:检索
可以通过调用集合的find()方法查询所有记录:
我们之前插入的记录已经查看到了。我们发现,多出了一个键值对:_id/ObjectId。这是MongoDB为每个文档添加的唯一标识。
> db.Persons.find();
{ "_id" : ObjectId("4ed7b5ce4f33e90801872724"), "name" : "wawlian", "age" : 23, "CDate" : ISODate("2011-12-01T17:13:45.671Z") }
> db.Persons.find();
{ "_id" : ObjectId("4ed7b5ce4f33e90801872724"), "name" : "wawlian", "age" : 23, "CDate" : ISODate("2011-12-01T17:13:45.671Z") }
2.3.3 U pdate:更新
更新使用的是集合的update()方法。当然,既然要更新,总得让数据库知道该更新谁吧。所以这个方法有两个参数:更新条件、新的文档。直接看代码:
> db.Persons.update({"name":"wawlian"},{"name":"xiaobai","age":"18"});
> db.Persons.find();
{ "_id" : ObjectId("4ed7b5ce4f33e90801872724"), "name" : "xiaobai", "age" : "18" }
>
> db.Persons.update({"name":"wawlian"},{"name":"xiaobai","age":"18"});
> db.Persons.find();
{ "_id" : ObjectId("4ed7b5ce4f33e90801872724"), "name" : "xiaobai", "age" : "18" }
> 上面的代码是将"name"为"wawlian"的文档替换为后一个文档。
2.3.4 D elete:删除
删除文档只需要使用集合的remove()方法。remove()方法需要传递一个参数:删除条件。这一点与上面的update()方法类似。
> db.Persons.remove({"name":"xiaobai"});
> db.Persons.find();
>
> db.Persons.remove({"name":"xiaobai"});
> db.Persons.find();
> 删除之后再查看记录已经没有了。
以上是MongoDB的入门学习。随着学习的继续,我还会进一步介绍MongoDB。
参考书目:
《MongoDB:The Definitive Guide》
摘自 wawlian说