samson

 

MongoDB学习笔记2——创建、更新、查询、删除文档

创建文档

javascript中没有批量插入的API,php、java、c#等driver则有批量插入的API,如php驱动中的collection.batchInsert().

一般的插入方法为insert(doc) 或者save(doc).

insert()与save()的区别是:要添加的doc中有_id,且在collection中有相同_id的doc,那么insert()不做任何操作,而save()会对collection中的doc进行更新。

更新文档(MongoDB的更新操作是原子性的,若两个更新同时进行,那么先到达服务器的先执行)

collection.update(conditionDoc, modifierDoc).

conditionDoc为查询文档,包含查询匹配条件;modifierDoc为修改器文档,描述如何做修改的。

sample如下:

文档替换,doc的属性增删

 

//先将3个只有x属性的文档插入到collection中
a={"x":1};
b={"x":2};
c={"x":3};
db.position.save(a);
db.position.save(b);
db.position.save(c);
//查看collection中的所有doc
db.position.find();

//为a添加y属性,并更新collection
a.y=11;
db.position.update({"x":1},a);

//查看collection中的所有doc
db.position.find();

//删除collection中doc的y属性
a=db.position.findOne({"x":1});
delete a.y;
db.position.update({"x":1}, a);


//查看collection中的所有doc
db.position.find();



删除文档

collection.remove(condition);如果不赋参数,那么整个collection中的doc都会被清空掉,但是已经建立的index会保留。

collection.drop();这个方法用于删除整个collection,包括其中所有的doc和index,若为了删除collection中的所有doc,那么可以选择先drop整个collection,然后重新建立index。

查询文档

posted on 2011-10-11 00:39  samson  阅读(653)  评论(0编辑  收藏  举报

导航