【问题标题】:collection traversal order with mongoose methods like findOne() or findOneAndRemove()使用 findOne() 或 findOneAndRemove() 等 mongoose 方法的集合遍历顺序
【发布时间】:2019-02-24 11:17:25
【问题描述】:

像 findOne() 或 findOneAndRemove() 这样的 mongoose 方法如何遍历集合?这种方法会返回哪个对象?最古老的条目?集合中从左到右的第一个对象?这些方法在执行过程中是否按对象 id 升序对集合进行排序?还是会返回一个落在指定条件下的随机对象? Mongoose API 文档只是说“找到一个文档”,这可能很明显,但对我来说不是,因此这个问题;)

[编辑]

findOneAndRemove() 文档 >>> https://mongoosejs.com/docs/api.html#model_Model.findOneAndRemove 简单地说(“找到一个匹配的文档”) findOne() 文档 >>> https://mongoosejs.com/docs/api.html#model_Model.findOne (简单地说“找到一个文档”)

如果我在一个书籍集合中有两本书在“名称”属性下具有相同的值,我如何确定这些方法会找到哪个文档?

我在学习 MongoDB 期间使用 mocha 运行测试时出现了这个问题 >>> https://github.com/yactouat/JSNotions/blob/master/learningMongoDBMongoose/test/delete_test.js

【问题讨论】:

  • 请向我们展示您目前的发现。链接或任何东西表示赞赏。我们不是来为您工作的。向我们展示一些进展,我们将帮助引领潮流
  • 当然不是,我不希望有人“为我工作”;我只是想了解这些方法是如何工作的;)
  • 刚刚编辑了问题,抱歉,我不能更清楚,但我没有在问题库中找到该主题的具体答案

标签: mongodb mongoose


【解决方案1】:

大部分驱动函数对应 Mongo DB 的方法。
如果你谷歌一下,你可以找到所有 Mongo shell 的函数和它们的文档。

例如,根据 Mongo DB 网站上的:findOne documentation

返回一个满足指定查询条件的文档 集合或视图。 如果有多个文档满足查询,这 方法根据自然顺序返回第一个文档 反映磁盘上文档的顺序。在封顶系列中, 自然顺序与插入顺序相同。如果没有文件满足 查询,方法返回null。

【讨论】:

  • 好的,谢谢,我的错误,继续使用 mongoose API doc 而不是 mongoDB 的
  • 别担心,也不要难过,我们都在这里学习;)如果这个答案解决了您的问题,请将其标记为已接受的答案。
  • 谢谢!我正在发现 MongoDB,并且对上限集合有点困惑,因为例如 remove() 等方法的存在,但由于您的链接让我想起了这个简单的词,这一切都变得更加清晰:FIFO
  • 很高兴.. 我对 MongoDB 的大部分了解都是从他们的文档中学到的。他们有很好的..
猜你喜欢
  • 2013-06-18
  • 1970-01-01
  • 2015-02-18
  • 2018-09-04
  • 2021-11-30
  • 2023-03-07
  • 2014-05-01
  • 2016-01-07
  • 2021-12-04
相关资源
最近更新 更多