MongoDB入门1――简介、安装及基本使用 (二)

2014-11-24 08:16:28 · 作者: · 浏览: 6
进行交互。运行该shell


$./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说