gpt4 book ai didi

javascript - 在 Meteor 应用程序上,根据 Mongo 中的字段值向从 Mongo 接收的数据添加类

转载 作者:行者123 更新时间:2023-12-03 08:52:00 25 4
gpt4 key购买 nike

我得到了 mongo 集合文档,其中包含一个数组,其中包含一堆其他对象。这是一个简单的聊天应用程序。

我访问文档中的所有数据并显示它。尽管如此,我很难将 my-message 类赋予 my 消息。当我编写下面的代码时,它给出了所有消息my-message类。 :/

那么我做错了什么?

对象结构:

{
_id: "RCe9ZBS9PfkwrqKvg"
borrowerId: "Rg33iLJyRYqHyMpk4"
messages: Array[{text:messageBody, from:currentUserId, date:New Date()}]
ownerId: "fPv5yWJiSqFX3bAhR"
reqId: "KXErmpFJ7LiCbKsqc"
}

模板:

  {{#with getMessages}}
{{#each messages}}
<p class="{{#if myMessages}} my-message {{/if}}">{{text}}</p>
{{/each}}
{{/with}}

助手:

Template.reqMessages.helpers({
getMessages: function () {
var theReqId = FlowRouter.getParam("reqId");
return Messages.findOne({reqId: theReqId});
},
myMessages: function () {
var currentUserId = Meteor.userId();
var theReqId = FlowRouter.getParam("reqId");
return Messages.find({reqId: theReqId,
messages: [{$elemMatch: {
from: currentUserId
}}]});
}
});

最佳答案

我认为你的意思是这样做:

{{#with getMessages}}
{{#each messages}}
<p class="{{#if isMine}}my-message{{/if}}">{{text}}</p>
{{/each}}
{{/with}}

Template.reqMessages.helpers({
getMessages: function () {
var theReqId = FlowRouter.getParam("reqId");
return Messages.findOne({reqId: theReqId});
},
isMine: function () {
return this.from === Meteor.userId();
}
});

由于您已经在模板中循环消息数组,因此助手的上下文 (this) 是数组中的每个对象。只需比较 this.fromMeteor.userId() 即可确定是否来自用户。

关于javascript - 在 Meteor 应用程序上,根据 Mongo 中的字段值向从 Mongo 接收的数据添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32640814/

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