发表于 2015-7-9 09:14:19

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]
查看完整版本: MongoDB学习笔记(2)--增删改查