与えられたIDでドキュメントタイトルを取得するための「流星」方法は何ですか?これによりMeteorJS:与えられたID配列によってサーバメソッドを介してタイトルデータを取得する方法
コレクション(関連記事)
{
'_id' : 'Dn59y87PGhkJXpaiZ',
'title' : 'Sample Article',
'slug' : 'sample-article'
}
クライアント
render() {
const data = [
{ _id: 'Dn59y87PGhkJXpaiZ' },
{ _id: 'kJXpaiZDn59y87PGh' }
{ _id: 'y87PGhkJXpaiZDn59' }
]
return (
<List>
{
data.map(r => {
return <List.Item>r._id</List.Item>
})
}
)
}
私はこの出力を取得します:
<List>
<List.Item>Dn59y87PGhkJXpaiZ</List.Item>
<List.Item>kJXpaiZDn59y87PGh</List.Item>
<List.Item>y87PGhkJXpaiZDn59</List.Item>
</List>
は今、私の代わりにタイトルを表示したいですIDのだから、通常、私は
data.map(r => {
const title = Articles.findOne({ _id: r._id }).title
return <List.Item>title</List.Item>
})
を行うだろう。しかし問題はdata
が動的データセットですと私は/完全な記事のコレクションを公開したくないことはできないということ、です。今はサブスクリプションがないので、タイトルの結果は得られません。 だから私はサーバーサイドコールをしなければならないと思う。
Meteor.call('getTitle', r._id, function(err, res) {
console.log(res)
})
しかし、私は結果をコールバック関数で取得します。だから私はどのようにこれらをリストに入れますか?また、私は複数のメソッド呼び出しを避けたい。 data
を送信し、サーバー側ですべてのタイトルを取得してリストを作成する方が良いと思います。
私はそれを処理するために[Sessions](https://docs.meteor.com/api/session.html)を使用します。 – ickyrr