创建嵌套在现有对象内的新JSON对象

创建嵌套在现有对象内的新JSON对象,json,angularjs,mean-stack,Json,Angularjs,Mean Stack,我有一个功能代码,它基于我的模式创建了一个新的JSON对象,但我希望将目标锁定在整个对象中的对象。我不确定这是否可能。。。我在创建新对象和更新现有对象之间左右为难 这是我的模式 year: { January: [ { day: String, title: String, summary: String, description: String } ], December: [ { day: String, title

我有一个功能代码,它基于我的模式创建了一个新的JSON对象,但我希望将目标锁定在整个对象中的对象。我不确定这是否可能。。。我在创建新对象和更新现有对象之间左右为难

这是我的模式

year: { 
January: [
  {
    day: String,
    title: String,
    summary: String,
    description: String
  }
      ],

December: [
  {
    day: String,
    title: String,
    summary: String,
    description: String
  }
      ]
}
});
这是我在mongodb中的数据

{
  _id: "53ee9f0fc6aed109c6d33cfc"
  __v: 0
  -year: {
    December: [ ]
    November: [ ]
    October: [ ]
    September: [ ]
    August: [ ]
    July: [ ]
    -June: [
     -{
       day: "21"
       title: "ok"
       summary: "ok"
       description: "ok"
       _id: "53ee9f0fc6aed109c6d33cfd"
       }
         ]
    May: [ ]
    April: [ ]
    March: [ ]
    February: [ ]
    January: [ ]
    }
}
我的问题是我的逻辑,因为它当前创建了一个全新的“year”JSON对象,我想在其中使用_id:“53ee9f0fc6aed109c6d33cfc”,并将日期添加到每个月

以下是我目前的角度逻辑:

$scope.createEvent = function() {
  var cal = new CAL.API();


 var month = [{day:$scope.calDay, title: $scope.calTitle, summary: $scope.calSummary, 
        description: 'ok'}];
              cal.year = {};
              cal.year[$scope.calMonth] = month;
              cal.$save(function(result){
                $scope.calendar.push(result);
              });
            } 

您正在尝试将日历事件推送到日历对象,对吗

如果是,则需要检索实际日历,然后将事件推送到特定日期,而不是为每个事件创建新日历,因为在这种情况下,您不会保存包含完整事件的单个日历

另一个选项是为每个事件保存一个对象,并查询与所需月份和天数匹配的所有事件

对于第一种选择:

var cal = getMyActualCal();
然后检查月和日是否存在,如果不存在则创建

cal.year[$scope.calMonth] = cal.year[$scope.calMonth] || []

var event = { day: $scope.calDay, title: 'mytitle', sumary: 'mysumary' };

cal.year[$scope.calMonth].push(event);

cal.$save();
可能重复的