【问题标题】:How to push object without filed name in mongodb with nodejs如何使用节点js在mongodb中推送没有文件名的对象
【发布时间】:2019-01-30 16:34:41
【问题描述】:

这是我的架构设计

 mongoose.Schema({

              traffic_countries:String,
              company_details:String,
              campaigns:[{
                    _campaignid : mongoose.Schema.Types.ObjectId,   
              }],
              impressions:[{
                    country:String,
                    _campaignid :mongoose.Schema.Types.ObjectId
              }],
              payments:[],
              budget:String                                                })

我想做的事

我想将下面的对象推送到支付数组中,我为此目的使用的代码在对象下方给出

                {
                            "id" : "PAY-52L98986JB4797714LN73QTY",
                            "intent" : "sale",
                            "state" : "created",
                            "payer" : {
                                    "payment_method" : "paypal"
                            },
                            "transactions" : [
                                    {
                                            "amount" : {
                                                    "total" : "12.00",
                                                    "currency" : "USD"
                                            },
                                            "description" : "",

                                            },
                                            "related_resources" : [ ]
                                    }
                            ],
                            "create_time" : "2018-08-24T07:48:30Z",
                            "links" : [

                                    {

                                            "rel" : "execute",
                                            "method" : "POST"
                                    }
                            ],
                            "httpStatusCode" : 201
                    }

我为此目的使用的代码

上述对象存储在我从 paypal api 获取并推送到支付数组中的事务变量中

var newPayment = {
            $push:{
                payments:{
                    transaction
                }
            }
        }



        Advertiser.updateOne({_id:req.user.id},newPayment,function(err,rec){
            if(err) throw err;

        })

mongodb中存储的对象是这样的

payments:[                                                                  
          { transaction:{object} },                                         
          { transaction:{object} },                                         
          { transaction:{object} }                                          
]

但我想存储像

这样的对象
payments:[                                                                  
          {object},                                         
          {object},                                         
          {object}                                          
]

【问题讨论】:

    标签: arrays mongodb mongoose mongodb-query


    【解决方案1】:

    在浪费了很多时间之后,我自己找到了这个问题的答案,我只需要删除推送查询中多余的括号

    不是这个

    var newPayment = {
            $push:{
                payments:{
                    transaction
                }
            }
        }
    

    我需要那个

    var newPayment = {
            $push:{
                payments:transaction
    
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2017-05-29
      • 1970-01-01
      • 2020-05-08
      • 2022-01-26
      • 2019-10-22
      • 2023-01-31
      • 2022-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多