流星集合更新子文档

Meteor Collection Update Sub Document

我有一个时间序列数据集合。

像这样:

{ _id: 'queBoS2mgjovC85uY',
    sum_samples: 0,
    type: 'Temperature',
    timestamp_minute: "Sun Aug 07 2016 10:03:18 GMT-0400 (EDT)",
    num_samples: 0,
    Sensor:{
        '0': { value: 0, real: false },
        '1': { value: 0, real: false }, 
        '2': { value: 0, real: false }, 
        '3': { value: 0, real: false }, 
        '4': { value: 0, real: false }, 
        '5': { value: 0, real: false }, 
        '6': { value: 0, real: false }, 
        '7': { value: 0, real: false }, 
        '8': { value: 0, real: false }, 
        '9': { value: 0, real: false }, 
        '10': { value: 0, real: false },
         ...
        '59': { value: 0, real: false }

    }
}

“0”、“1”对象是一小时中的分钟数。 现在我想更新我测量的一分钟值并将 "real" 设置为 true,real 表示之前的值是实际测量的传感器值而不是初始值。

但是我试过的所有 Temperature.update() 都不起作用。 也许是因为我对流星知之甚少,mongodb 因为我是一个爱好程序员。 我总是想更新最新的条目。 有人可以帮帮我吗? 也许有一个 link 在那里我可以阅读背后的基础知识。

谢谢。 迈克尔

附上:

目前我的代码非常简单。

if (Meteor.isServer) {
   Temperatures.insert({sum_samples: 0, type: "Temperatures"});
   var test = Temperatures.findOne({}, {sort: {timestamp_minute: -1}} );

   Temperatures.update({_id: test._id},{$set: {"Sensor.32.value": 2032, "Sensor.32.real": true} });

}

我喜欢的简单模式。

Schemas = {};

Temperatures = new Meteor.Collection("Temperatures");

Schemas.seriesData = new SimpleSchema({
    timestamp_minute: {
        type: Date,
        defaultValue: new Date
        },
    num_samples: {
        type: Number,
        defaultValue: 0
    },
    sum_samples: {
        type: Number,
        defaultValue: 0
    },
    type: {
        type: String
    },
    Sensor: {
        type: Object,
        blackbox: true,
        optional: true,
        autoValue: function(){
            if (this.operator === null && !this.isSet){
                var object = {};
                for(var i=0; i<=59;i++){
                    object[i]={value: 0, real: false};
                }
                return object;
            }
        }

    }
});
Temperatures.attachSchema(Schemas.seriesData);

会不会是数字两边的单引号?

Temperatures.update({_id: test._id},{$set: {"Sensor.'32'.value": 2032, "Sensor.'32'.real": true} });

我也可以建议传感器是一个数组吗?喜欢:

 Sensor [
     { ... },
     { ... }
 ]