【问题标题】:Angular creating a new JSON object nested inside of an existing objectAngular 创建一个嵌套在现有对象内的新 JSON 对象
【发布时间】:2014-08-16 02:40:42
【问题描述】:

我有一个功能代码,它根据我的架构创建一个新的 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: [ ]
    }
}

我的问题是我的逻辑,因为它目前创建了一个全新的“年”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);
              });
            } 

【问题讨论】:

标签: json angularjs mean-stack


【解决方案1】:

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

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

另一个选项是为每个事件保存一个对象并查询与您想要的月份和日期匹配的所有事件

对于第一个选项:

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();

【讨论】:

    猜你喜欢
    • 2016-10-16
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2017-12-22
    • 2020-12-21
    • 1970-01-01
    相关资源
    最近更新 更多