【发布时间】:2018-09-21 02:04:22
【问题描述】:
所以我来自纯 javascript 背景,我正在从事一个流星项目,在该项目上我有以下名为“Semaines”的 MongoDB 集合:
{
_id: /*random ID*/,
id_utilisateur: /*user ID*/,
isCreated: true,
jours: {
lundi: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
mardi: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
mercredi: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
jeudi: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
vendredi: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
samedi: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
dimanche: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
}
}
使用下面的方法,我想在指定的日期和索引(这里代表小时)更新元素:
//sent values are : idUt = Meteor.userId(), day = "vendredi", hour = 0, score = 10
'semaines.updateTable'(idUt, day, hour, score){
check(idUt, String);
check(day, String);
check(hour, Number);
check(score, Number);
Semaines.update({id_utilisateur: idUt},{$set : {"jours.$[day].$[hour]": score}});
}
这似乎不起作用。我认为这是因为查询实际上是我发送的值:
$set : {jours.vendredi.0 : 10}
这显然行不通,但我看不到我的查询如何变成这样,我认为它会起作用:
$set : {jours.vendredi[0] : 10}
【问题讨论】:
-
能否请您添加要更新的文档的当前完整结构?
标签: javascript arrays mongodb meteor