使用带有Q promises nodejs的数组字段迭代JSON数组

时间:2016-05-31 16:38:13

标签: javascript arrays json node.js mongodb

我是Q承诺的新手。 我有一个像输入这样的结构的JSON:

[{"code": x,
  "status": y,
  "array": [
    {  "value1": k   },
    {  "value2": z   }
  },{...}
...]

现在我必须使用ObjectId引用将它保存在MongoDB中的两个不同集合中;所以我想要这样的东西:

C1: {"_id": 1,"code": x, "status": y, "array": [2,3]}
C2: {"_id": 2,"value1": k},{"_id":3, "value2": z}

我尝试使用两个数组映射进行迭代,如下所示:

Q.all(codes.map(function(currCode) {
       return this.saveNewCode(currCode)
         .then(function(code) {
            return Q.all(currCode.array.map(function(currElem) {
                return this.saveNewElem(currElem)
                   .then(function(elem) {
                       return this.addElemToCode(elem.id,code.id)
                   })
            }))
         })
}))

这样返回的是map [[]],我想返回一个像初始json的响应。

0 个答案:

没有答案