访问mongoDB中的子文档

时间:2013-10-29 16:22:50

标签: javascript mongodb meteor subdocument

我在mongoDB中有一个集合用户,每个用户都有一个小部件文档,如下所示:

Widgets = [{
type: 'container',
size: 12,
offset: 0,
id: 'root',
children: [
    {
        type: 'widgetSearch',
        title: 'Recherche',
        offset: 0,
        size: 2,
        id: 'searchId',
        toolbar: {
            buttons: [ 'config', 'move', 'minimize', 'maximize', 'close' ]
        }
    },...etc

在文件client.js中,我想访问Widgets数据。

我试试这个:

var user = Meteor.user();
var test = Meteor.users.find({_id: user._id});

console.log(test.widgets);

console.log(test[0].widgets);

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

默认情况下,Meteor不会发布用户帐户的自定义字段。您需要自己发布所需的每个用户字段。

Meteor.publish(null, function() {
  return Meteor.users.find({_id: this.userId}, {fields: {widgets: 1, profile: 1, etc: 1 }});
});