MongoDB学习笔记(2)--增删改查
查询记录 普通查询> 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);
使用游标时候请注意占用内存的问题,特别是很大的游标对象,有可能会内该用迭代的方式来输出.下面的示例则是把游标转换成真实的数组类型: > var arr = db.things.find().toArray();
> arr;
条件查询
> 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"});
页:
[1]