gpt4 book ai didi

javascript - 返回的游标数组不显示任何结果

转载 作者:可可西里 更新时间:2023-11-01 10:43:49 25 4
gpt4 key购买 nike

我试图通过这样做来解决两个集合的“连接”问题:

foundUsers: function()
{
var searchUser = Session.get("searchUser"); // user search criteria
var usf = User.find(searchUser, {}); // get user results

var typeId = usf.map(function(p) { return p.us_ut_id }); // get type ids

var tyf = Type.find({_id: {$in: typeId}}, {}); // new Meteor.Collection.ObjectID("533d63bef0e236f9d76db905")

var typeName = tyf.map(function(p) { return p.ut_name.toString() }); // check type names
console.log(typeName);

return [usf, tyf];
}

我的 html 字段中的结果只是空白字段,没有错误消息,所以我做错了什么?

重点是使用 typeId 中的 _id 数字来获取以 html 表单显示的正确用户类型。

return usf; // this returns all users without types

return tyf; // this returns all types without users

更新 1:

模板看起来像这样:

<template name="getResult">
{{#each foundUsers}}
<input type="text" id="firstname" value="{{us_firstname}}"/><br>
<input type="text" id="lastname" value="{{us_lastname}}"/><br>
<input type="text" id="typename" value="{{us_ut_name}}"/><br>
{{/each}}
</template>

us_xxx 应该找到用户数据,例如姓名。us_ut_name 应该显示我们通过从 us_ut_type 获得的 ObjectID 获得的类型的名称。

更新 2:

所以我编写了这样的代码,我认为它应该可以工作,因为它会在控制台中打印正确的数据:

// display user data
Template.getResult.helpers(
{
foundUsers: function()
{
var selector = Session.get('searchUser');
var users = User.find(selector).fetch();

return _.each(users, function(user)
{
console.log(user);
var result = user.us_ut_name = Type.findOne({_id: new Meteor.Collection.ObjectID(user.us_ut_id._str)}).ut_name;
console.log(user.us_firstname + ", " + result);
return result;
});
}
});

但是页面上没有显示结果。

例如打印:

john, barber

mike, carpenter

buck, dog

在控制台中,但不在网站的输入字段中。

解决方案:

Template.getResult.helpers(
{
foundUsers: function()
{
var selector = Session.get('searchUser');
var users = User.find(selector).fetch();

_.each(users, function(user)
{
console.log(user);
var result = user.us_ut_name = Type.findOne({_id: new Meteor.Collection.ObjectID(user.us_ut_id._str)}).ut_name;
console.log(user.us_firstname + ", " + result);
return result;
});

return users;
}
});

谢谢大卫·韦尔登

最佳答案

如果我正确理解您的模型,这可能有效:

foundUsers: function() {
var selector = Session.get('searchUser');
var users = User.find(selector).fetch();
_.each(users, function(user) {
return user.tyf_type = Type.findOne(user.us_ut_id).ut_name.toString();
});
return users;
}

它使用给定的选择器获取用户,然后通过添加 tyf_type 属性修改每个用户。唯一的缺点是它使用 fetch,每次用户更改时都会重新绘制整个列表。

关于javascript - 返回的游标数组不显示任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22994715/

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