需要使用Meteor从_id中删除ObjectID()

Joe*_*dee 6 mongodb meteor

我正在使用Meteor从Mongo检索记录.我在流星模板中使用{{_id}}占位符来使用记录的_id字段,但它将此添加到我的模板中....

ObjectID("54f27a1adfe0c11c824e04e9")
Run Code Online (Sandbox Code Playgroud)

......我想要......

54f27a1adfe0c11c824e04e9
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

Dav*_*don 11

只需添加一个全局帮助器:

Template.registerHelper('formatId', function(data) {
  return (data && data._str) || data;
});
Run Code Online (Sandbox Code Playgroud)

您也可以使用ES6语法执行此操作:

Template.registerHelper('formatId', (id) => (id && id._str) || id);
Run Code Online (Sandbox Code Playgroud)

并在任何模板中使用它,如下所示:

{{formatId _id}}
Run Code Online (Sandbox Code Playgroud)

这适用于mongo风格的ObjectIds和流星风格的随机字符串.