「コンテンツ」と「ユニット」の2つのコレクションがあります。コンテンツコレクションには、ユニットコレクションを参照するフィールド「unitID」があります。流星公開機能で、新しく作成されたすべてのコンテンツのユニットタイプ名を追加したいと思います。
Meteor.publish("contents", function () {
var self = this;
var handle = Contents.find().observe({
changed: function(contentdoc, contentid) {
var UnitName = Units.findOne({_id: contentdoc.unittypeid }, {fields: {type: 1}});
self.set("contents", contentid, {'content.0.typename': UnitName});
self.flush();
}
});
}
これは機能しますが、コンテンツ配列の最初の要素に属性「UnitName」を挿入する代わりに、新しい属性「content.0.UnitName」を作成します。
[
{
_id:"50bba3ca8f3d1db27f000021",
'content.0.UnitName':
{
_id:"509ff643f3a6690c9ca5ee59",
type:"Drawer small"
},
content:
[
{
unitID:"509ff643f3a6690c9ca5ee59",
name: 'Content1'
}
]
}
]
私が欲しいのは次のとおりです。
[
{
_id:"50bba3ca8f3d1db27f000021",
content:
[
{
unitID:"509ff643f3a6690c9ca5ee59",
name: 'Content1',
UnitName:
{
_id:"509ff643f3a6690c9ca5ee59",
type:"Drawer small"
}
}
]
}
]
私は何が間違っているのですか?