MongoDB原生支持js,所以在平时查询或者跑数据的时候,写段js是非常方便的。

遍历并输出数据

我们一般使用db.collection.find(query, projection)这个方法来查询数据,这个方法返回一个cursor对象,可以理解为指向查询结果集的一个指针,需要迭代它才能一条一条获取结果。

1
2
3
4
5
var myCursor = db.users.find( { type: 2 } );
while (myCursor.hasNext()) {
print(tojson(myCursor.next()));
}

myCursor.next()得到的就是具体的Document对象了,可以直接访问对应的字段。

这里有两个重要函数:

  • tojson:把对象转为JSON字符串
  • print:打印内容到控制台

可以printjson来替换print(tojson())调用。同时cursor对象支持forEach方法:

1
2
3
var myCursor = db.users.find( { type: 2 } );
myCursor.forEach(printjson);

参考资料