javascript - mongo游标findOne

标签 javascript mongodb

我正在尝试通过查询具有值数组的字段来从 mongoDB 打开数据流,并且每个数组索引仅返回一条记录。

var cursor = Collection.findOne({'lastName': { $in: [arrayOfLastNames]}}).cursor();

  cursor.on('data', function (record) {
   //do something with record
  })    

无论出于何种原因,它都会根据 arrayOfLastNames 的索引提取多条记录。 .findOne() 方法的行为与 .find() 一样。 将不胜感激任何关于为什么会发生这种情况的建议,或此实现的可能替代方案。

最佳答案

您遇到问题是因为您使用了游标。来自mongoDB documentation , “您不能将游标方法应用于 findOne() 的结果,因为返回的是单个文档。”

根据您的评论,您希望为数组中的每个项目调用一次 findOne,因为使用 findOne$in 将找到第一个文档根据与数组中的任何项目匹配的文档的“natural order”(您也可以老老实实地考虑使用一般的查找,从那时起您的游标解决方案就会起作用)。

关于javascript - mongo游标findOne,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41193193/

相关文章:

javascript - React 日期选择器和时刻

python - 如何将 Google 表格连接到 MongoDB

javascript - 网页上所有 id 标签均可进行鼠标操作

javascript - 我的 jQuery 插件中定义的方法返回错误 : undefined is not a function?

javascript - 从 Three.js 中的 BufferGeometry 中删除顶点及其属性

mongodb - java.io.BufferedReader().map 无法从Stream(Stream<? extends T>) 推断 <T> 的类型参数

java - MongoDB实现保存历史对象变化的数据库结构

python - 获取收集字节使用情况统计信息的pymongo方法?

python - 在 MongoDB 中保存位数组

javascript - 仅将类添加到一个 div