gpt4 book ai didi

mongodb - Meteorjs 显示引用文档字段

转载 作者:可可西里 更新时间:2023-11-01 10:44:27 24 4
gpt4 key购买 nike

我有以下场景。有一个集合 Suppliers 和另一个 Invited。现在 Invited.supplier = Supplier._id (语法可能有误) Invited collection 指的是一对多的 Suppliers。

在我的 html 中,我有

<template name="mytemplate">
{{#each invited_list}}
{{supplier}}
{{f1}}
{{f2}}
{{/each}}
</template>

我有一个辅助函数

Template.mytemplate.helpers({
invited_list : function(){
return Invited.find({"something"});
}
});

我想在我的 invited_list 中显示 {{Suppliers.name}} 而不是 _id in {{supplier}} 。我有哪些选择?

最佳答案

您可以创建一个解析器函数,例如:

Template.mytemplate.helpers({
invited_list : function(){
return resolveSupplierToNames(Invited.find({"something"}).fetch());
}
});

function resolveSupplierToNames(invitedList) {
for (var i=0; i<invitedList.length; i++) {
invitedList[i].supplier = Suppliers.findOne({_id: invitedList[i].supplier}).name;
}

return invitedList;
}

mongodb一般有两种选择,一种是上面的(手动)。第二种是使用DBRefs .但是我不确定 meteor 是否完全支持 DBRefs。正如 mongodb 文档中所建议的,手动执行没有任何问题。

更新

Meteor 引入了一个transform 函数,你可以做类似的事情:

Template.mytemplate.helpers({
invited_list : function(){
return Invited.find({"something"},{transform:function(doc) {
doc.supplier_name = Suppliers.findOne({_id: doc.supplier_id}).name;
return doc;
});
}
});

关于mongodb - Meteorjs 显示引用文档字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com