MongoDB学习笔记(2)--增删改查

时间:2022-12-26 10:46:47
查询记录

普通查询 

> var cursor = db.things.find();

> while (cursor.hasNext()) printjson(cursor.next());
   上面的例子显示了游标风格的迭代输出. hasNext()  函数告诉我们是否还有数据,  如果有则可以调用 next()  函数. 

当我们使用的是 JavaScript shell, 可以用到JS的特性, forEach 就可以输出游标了. 下面的例 子就是使用 forEach() 来循环输出: forEach() 必须定义一个函数供每个游标元素调用.

> db.things.find().forEach(printjson);

在 MongoDB shell 里, 我们也可以把游标当作数组来用:
   > var cursor = db.things.find();

> printjson(cursor[4]);

 

使用游标时候请注意占用内存的问题,  特别是很大的游标对象,  有可能会内 该用迭代的方式来输出.  下面的示例则是把游标转换成真实的数组类型:  

> var arr = db.things.find().toArray();

> arr[5];
条件查询

> db.things.find({name:"mongo"}).forEach(printjson); 

> db.things.find({x:4,y:"abc"}).forEach(printjson);  

返回特定的元素 

> db.things.find({x:4}, {j:true}).forEach(printjson);

findOne()语法

printjson(db.things.findOne({name:"mongo"})); 

通过limit 限制结果集数量
> db.things.find().limit(3);

 

修改记录

 

  > db.things.update({name:"mongo"},{$set:{name:"mongo_new"}});

删除记录 

> db.things.remove({name:"mongo_new"});