MongoDB - 不明白如何使用光标遍历集合
MongoDB - dont understand how to loop through collections with a cursor
advertisers = db.dbname.find( 'my query which returns things correctly' );
我现在意识到它返回了一个集合列表的游标。
但我不确定如何遍历它们并获取每个集合。
我想尝试这样的事情:
advertisers.each(function(err, advertiser) {
console.log(advertiser);
});
但这行不通。但是我在网上搜索时没有看到如何让它真正与简单的JavaScript一起工作。
然后我有这个代码:
var item;
if ( advertisers != null )
{
while(advertisers.hasNext())
{
item = advertisers.next();
}
}
它给出了这个错误:SyntaxError: syntax error (shell):1
非常感谢帮助!
谢谢!
快速而肮脏的方法是:
var item;
var items = db.test.find();
while(items.hasNext()) {
item = items.next();
/* Do something with item */
}
还有更实用的:
items.forEach(function(item) {
/* do something */
});
循环访问集合的另一种方法是使用 toArray cursor 的方法:
var results = db.getCollection('posts').find({}).toArray();
for(var i = 0; i <= results.length -1; i++)
{
print("Author is:" + results[i].Author);
}
由于您没有显示堆栈,因此我认为您的问题是您要传递给 find 函数的参数,此参数必须是 JavaScript 对象,因此:
var query = {
key: 'my query which returns things correctly'
}
advertisers = db.dbname.find(query);
advertisers.each (function(err, doc){
//.... error code not included.....
console.log(doc);
});
相关文章:
- 循环遍历以数组为值的Javascript对象
- 遍历类元素数组,并在jquery中选择同级元素
- Jquery遍历表元素
- Chrome扩展:遍历不同的页面并收集数据
- 如何遍历包含对象的数组-javascript
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 遍历AngularJs中的对象
- JQuery 遍历当前 SELECT 值
- 循环遍历包含另一个表单的表单
- 使用Yadda和Protractor重用步骤定义,遍历所需文件
- 遍历D3中所有数据点之间的所有值
- 自动遍历所有链接的事件
- JS.循环遍历多维数组,以计数元素在每列中的出现次数
- 如何使用 document.querySelectorAll 遍历选定的元素
- 使用Javascript反向遍历XML
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- Netsuite Suitelet:在不达到治理限制的情况下,遍历事务行项目的列表加载和提交记录
- 遍历 mongo 光标以列出 Meteor Blaze 中的所有值
- MongoDB - 不明白如何使用光标遍历集合
- 在遍历光标和更新文档时,连接因应用程序错误而关闭