【问题标题】:Can't push object into an array which is inside another array无法将对象推送到另一个数组内的数组中
【发布时间】:2016-08-25 11:41:17
【问题描述】:

我正在尝试将数据推送到“锻炼”子子数组中。

我的“锻炼”数据库

    { 
     "_id" : "LpM8ubqJNKwgcDuKC",
     "userID" : "yZTaeqJ8iNGkvs3MS",
     "workouts" : [ 
        { "_id" : "fiaMqNRucPq4SSXCi", 
          "scheculedFor" : ISODate("2016-08-23T11:17:55.428Z"), 
          "updatedAt" : ISODate("2016-08-23T11:17:55.428Z"), 
          "createdAt" : ISODate("2016-08-23T11:17:55.428Z"), 
          "started" : true, 
          "finished" : false,
          "type" : false,
          "workout" : [ ]
         }  
                 ], 
     "training" : true 
    }

还有我的查询

Workout.update({ 
       '_id':"LpM8ubqJNKwgcDuKC"
       'workouts._id':"fiaMqNRucPq4SSXCi"
        },
        { $push: {
            'workouts.$.workout.0':{name:"Test"}}
        }
    );

我尝试了查询的多种变体,但没有任何反应。

【问题讨论】:

    标签: mongodb meteor mongodb-query


    【解决方案1】:

    我认为您不需要在更新查询中使用.0

    试试下面的查询

    Workout.update({ 
       '_id':"LpM8ubqJNKwgcDuKC"
       'workouts._id':"fiaMqNRucPq4SSXCi"
        },
        { $push: {
            'workouts.$.workout':{name:"Test"}}
        }
    );
    

    【讨论】:

    • 抱歉,我需要 15 个代表才能做到这一点。但是当我有足够的时候我会这样做:)
    猜你喜欢
    • 1970-01-01
    • 2019-07-20
    • 2020-08-23
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 2019-01-28
    • 1970-01-01
    相关资源
    最近更新 更多