【问题标题】:Meteor.js findOne() cannot find by _idMeteor.js findOne() 无法通过 _id 找到
【发布时间】:2015-08-25 18:33:05
【问题描述】:

我正在尝试使用 .findOne() 在我的集合中查找文档,并通过 _id 进行搜索。

pinnedForumTopics.findOne({_id : 0})

(我知道我的集合中有一个带有该 ID 的文档)但这仍然没有返回任何内容。有谁知道怎么回事? (我可以通过其他东西搜索,只是不是_id...)

这是我定义我的收藏的地方:

pinnedForumTopics = new Mongo.Collection("pinnedForumTopics");

任何帮助将不胜感激!谢谢!

编辑 我正在使用自动发布***

【问题讨论】:

  • 你确定 _id : 0 是整数而不是字符串吗?
  • @stivaugoin 我已经尝试了 0 和 "0",不幸的是,下界工作
  • 如果您在控制台中运行 pinnedForumTopics.find().fetch(),您会看到 _id = 0 的文档吗?通常,meteor 中自动生成的 id 是一个随机字符串。
  • 您是否使用 autopublish 软件包,如果没有,您是否同时 publish(来自服务器)和 subscribe(从客户端)到您的 pinnedForumTopics 收藏?
  • 您是否在控制台中运行pinnedForumTopics.find().fetch() 并看到_id = 0 的文档?或者您也可以下载 robo mongo,一个 GUI MongoDB 管理器,将其与您的流星 mongo 集合(本地主机:3001)连接以查看您的集合中的内容

标签: javascript mongodb meteor find


【解决方案1】:

我认为您的代码可能有问题,因为您的查询是正确的。

你应该先检查是否有_id为0的东西,在你的控制台中运行pinnedForumTopics.find().fetch()的结果是什么?

您是否删除了流星应用中的auto-publish?如果是这样,你应该自己发布和订阅数据,然后你可以得到你想要的数据。

如果没有,我建议您可以下载 robomongo,一个 GUI mongoDB 管理器,您可以在其中轻松调试。像这样:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 2016-09-17
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2013-11-10
    • 1970-01-01
    相关资源
    最近更新 更多