次のドキュメントがあります。
mainDoc = {
owner: Meteor.userId(),
createdOn: new Date(),
active: false,
label: "Dashboard #" + ($("ul#u-nav-tabs").find("li.u-tab").length + 1),
monitors: [/*Embedded documents*/],
sharewith: []
};
mainDoc.monitors
次のドキュメントの配列です。
innerDoc = {
_id: id._str,
owner: Meteor.userId(),
createdOn: new Date(),
label: monitorLabel,
metadata: {custDate: {}},
style: {
top: mystyle.top,
left: mystyle.left,
width: 0,
height: 0
},
shown: true,
sharewith: []
}
サーバーに次の権限を設定しました
userDashboards.allow({
insert: function (userId) {
"use strict";
return userId;
},
update: function (userId, doc) {
"use strict";
return doc.owner === userId;
},
remove: function (userId, doc) {
"use strict";
return doc.owner === userId;
},
fetch: ["owner", "monitors"]
});
これまでクライアントでこれを試しました:
console.log(userDashboards.findOne({"monitors._id": "5f94f2a15bddd908f2bc9d5d"}));
しかし、埋め込まれたドキュメントではなく、完全なドキュメントしか取得できません。
問題は、innerDoc.style
ブラウザから直接更新するにはどうすればよいかということです。