如何找到正确的数组并将数据推送到meteor.users使用meteor在mongodb中自定义数组字段?

如何找到正确的数组并将数据推送到meteor.users使用meteor在mongodb中自定义数组字段?,mongodb,meteor,Mongodb,Meteor,如何找到正确的课程id,并将“myclass2”推送到作为数组的课程id字段 我得到了这个,但它在类中增加了一行 let data = Meteor.users.update({_id: Meteor.userId(), "classes.course_id": course_id}, { $push: { "classes": { "classes_id": [class_name] } }} ) 错误更新: { "_

如何找到正确的课程id,并将“myclass2”推送到作为数组的课程id字段

我得到了这个,但它在类中增加了一行

let data = Meteor.users.update({_id: Meteor.userId(), "classes.course_id": course_id}, {
   $push: {
        "classes": {
            "classes_id": [class_name]
        }
    }}
)
错误更新:

{
  "_id": "RoFFcaAfXBeR2napZ",
  "emails": [
    {
      "address": "tong@gmail.com",
      "verified": false
    }
  ],
  "classes": [
      {
         "course_id": "svesvinfdsgrvnekuktndvsk",
         "classes_id": ["myclass1"]
      },
      {
         "course_id": "rgjjgdcrvnevghjcdvbbvddv",
         "classes_id": ["myclass1"]
      },
      {
         "classes_id": ["myclass2"]<----wrong update
      },
  ],
  "courses": [
    "qwmZdgQbrZ3rmHdN8"
  ]
}
我如何做到这一点?如果我能找到课程id,请将myclass2添加到课程id

{
  "_id": "RoFFcaAfXBeR2napZ",
  "emails": [
    {
      "address": "tong@gmail.com",
      "verified": false
    }
  ],
  "classes": [
      {
         "course_id": "svesvinfdsgrvnekuktndvsk",
         "classes_id": ["myclass1", "myclass2"]<----correct
      },
     {
         "course_id": "rgjjgdcrvnevghjcdvbbvddv",
         "classes_id": ["myclass1"]
      },
  ],
  "courses": [
    "qwmZdgQbrZ3rmHdN8"
  ]
}
{
“_id”:“RoFFcaAfXBeR2napZ”,
“电子邮件”:[
{
“地址”:tong@gmail.com",
“已验证”:错误
}
],
“类别”:[
{
“课程id”:“svesvinfdsgrvnekuktndvsk”,
“classes_id”:[“myclass1”、“myclass2”]您可以使用

函数addClassId(用户ID、courseId、classId){
c1.更新({
_id:userId,
'classes.course_id':courseId
}, {
$push:{
'classes.$.classes\u id':classId
}
});
};  
它将从
classes
数组中获取第一个匹配项,并将
classId
推送到其
classes\u id
数组中。

您可以使用

函数addClassId(用户ID、courseId、classId){
c1.更新({
_id:userId,
'classes.course_id':courseId
}, {
$push:{
'classes.$.classes\u id':classId
}
});
};  
它将从
classes
数组中获取第一个匹配项,并将
classId
推送到它的
classes\u id
数组中。

这就行了

let data = Meteor.users.update({_id: Meteor.userId(), "classes.course_id": course_id}, {
     $push: {"classes.$.classes_id": class_name}
})
这管用

let data = Meteor.users.update({_id: Meteor.userId(), "classes.course_id": course_id}, {
     $push: {"classes.$.classes_id": class_name}
})
那么你应该这样做。这会让其他人了解问题已经解决(即使是通过搜索),因此是一种良好做法。那么你应该这样做。这会让其他人了解问题已经解决(即使是通过搜索),因此是一种良好做法。