meteor 找到一个带有 id 的对象

标签 meteor

假设我有一个 id 字符串,看起来像 557fba5a8032a674d929e6a1存储在 session 中。我尝试检索一个文档,其 _id与上面相同,但即使它存在我也找不到它。

Posts.findOne({_id: "557fba5a8032a674d929e6a1"});

返回未定义。现有对象如下所示:

enter image description here

我可以通过这样做来使它工作
var id = "557fba5a8032a674d929e6a1";
var posts = Posts.find().fetch();
var post = _.filter(posts, function (post) { return post._id._str === id });
return post

但它看起来很脏。这是我的控制台输入和输出,用于进一步调查此行为 ( Posts == Applicants )。你会注意到,即使我们要找的文件肯定存在,我也找不到。

enter image description here

最佳答案

您必须将 _id 定义为 Mongo.ObjectID代表ObjectID正确键入。

Posts.findOne({_id: new Mongo.ObjectID("557fba5a8032a674d929e6a1") });

使用 Meteor 的 ObjectID 的一个警告是它们的时间戳不正确。特别是当它们插入客户端时。

关于 meteor 找到一个带有 id 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30884874/

相关文章:

javascript - 在 Meteor 中使用 list.js 将数据从服务器发布到客户端

meteor - 如何使用Iron Router返回404

javascript - meteor 1.2 中的新 ReactiveDict()

javascript - meteor -检测无限循环

javascript - 在 pathFor iron-router 中的查询中使用当前每个数据

javascript - meteor.js 和 mongodb - 如何在每个空格键中传递当前元素的 _id

javascript - 如何使用jQuery获取动态表的输入字段值

javascript - 将 Meteor 与高级 SVG 或 Canvas 输出结合使用的模式

javascript - atmospherejs 是否提供任何 API?

javascript - 单击事件更改复杂的 SVG (Meteor)