2013-06-25 54 views
0

所有我从这个代码获得:如何将mongojs查询结果存储到一个变量

VAR的看法= db.books.find({ “数字”:1},{ “意见”:1,_id :0}); console.log(views);

是这样回应:

{ _readableState: 
    { highWaterMark: 16384, 
    buffer: [], 
    length: 0, 
    pipes: null, 
    pipesCount: 0, 
    flowing: false, 
    ended: false, 
    endEmitted: false, 
    reading: false, 
    calledRead: false, 
    sync: true, 
    needReadable: false, 
    emittedReadable: false, 
    readableListening: false, 
    objectMode: true, 
    defaultEncoding: 'utf8', 
    ranOut: false, 
    awaitDrain: 0, 
    readingMore: false, 
    decoder: null, 
    encoding: null }, 
readable: true, 
domain: null, 
_events: {}, 
_maxListeners: 10, 
_get: [Function] } 
+0

我一直在这个模块卡住了几天...任何帮助将不胜感激:) – user1710631

回答

0

您可以使用.findOne返回一个实例,并得到结果。

Find假定您查询的文档集合,并返回一个光标:

例如,您可以将其转换成一个数组:

db.books.find({"number":1}, {"views":1, _id:0}).toArray(function(err, results){ 
    console.log(results); 
}); 

您可以使用.each通过元素迭代和.nextObject来获得下一个,它们都是异步的,显然是nodejs中的IO操作,这里是the section on cursors in the manual

+0

谢谢!现在我如何使用node.js解析结果? – user1710631

+0

当然,你听起来真的很绝望:)结果返回的只是一个JavaScript数组。你像处理任何其他类型的数组一样处理它。如果这个答案解决了你的问题,请考虑接受它。 –

+0

它不是返回JSON文本数组吗? – user1710631

相关问题