dongzipu7517 2016-07-18 12:07
浏览 10
已采纳

我正在使用php将数据推送到mongodb它已成功完成但结构错误。 为什么它生成0对象?

php code:

$data = array('$push' => array("scap" => array(
                            "loan" => array(array("user_profile_id"=>"","current_gross_loan"=>$userScapData['OutstandingLoans'],"_id"=>"","details"=>array())),
                            "tax" => array(array("user_profile_id"=>"","current_gross_income"=>$userScapData['Tax'],"_id"=>"","details"=>array())),
                            "essentials" => array(array("user_profile_id"=>"","current_gross_essentials"=>$userScapData['Essentials'],"_id"=>"","details"=>array())),
                            "lifesyle" => array(array("user_profile_id"=>"","current_gross_lifestyle_annual"=>$userScapData['LifestyleAnnual'],"current_gross_lifestyle_lumpsum"=>$userScapData['LifestyleLumpsum'],"_id"=>"","details"=>array())),
                            "responsibility" => array(array("user_profile_id"=>"","current_gross_responsibility_annual"=>$userScapData['ResponsibilityAnnual'],"current_gross_responsibility_lumpsum"=>$userScapData['ResponsibilityAnnual'],"_id"=>"","details"=>array())),
                            "legacy" => array(array("user_profile_id"=>"","current_gross_legacy"=>$userScapData['Legacy'],"_id"=>"","details"=>array())),
                            "cahrity" => array(array("user_profile_id"=>"","current_gross_charity_percentage"=>"","current_gross_charity_purchase"=>$userScapData['Charity'],"_id"=>"","details"=>array())),
                            "real_estate" => array(array("user_profile_id"=>"","current_gross_real_estate_monthly"=>$userScapData['RealEstateMonthly'],"current_purchase_amount"=>$userScapData['RealEstatePurchase'],"_id"=>"","details"=>array()))            
                    )
            ));
            $userScapCol = $db->user_scenarios;
            $_id = new MongoId($userScapData['ScenarioId']);
            $userScapCol->update(array("_id"=>$_id),array('$push' => $data));

**IMG-1**
**My output:-**

Its generating 0 object why i don't know i want output like IMG-2. what is wrong in my array

enter image description here

IMG-2 I want below output

enter image description here

  • 写回答

1条回答 默认 最新

  • dongshanjin8947 2016-07-18 12:18
    关注

    $push as of programming languages, appends to an array.

    If the field is absent in the document to update, $push adds the array field with the value as its element.

    To add document of structure you have, you need just to insert, or uprade without $push:

    $userScapCol->update(array("_id"=>$_id), $data['$push']);
    

    Anyway check twice, because you are sending in your original request:

    array('$push' => array('$push' => array(/* ... */)))
    

    what may behave odd.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算