1

私のデータベース構造は次のようになります:

{
  "_id" : ObjectId("51e66873f6a6600436000001")
  ,"email" : "asd@asd.de",
  ,"attribute_group_a" : {
     "attribute_a" : ""
     ,"attribute_b" : ""
     ,"attribute_c" : ""
     ,"attribute_d" : ""
  },
  ,"attribute_group_b" : {
      "attribute_subgroup_b_a" : {
           "attribute_a" : ""
           ,"attribute_b" : ""
           ,"attribute_c" : ""
           ,"attribute_d" : ""
       }
       ,"attribute_subgroup_b_b" : { 
           "attribute_a" : ""
           ,"attribute_b" : ""
           ,"attribute_c" : ""
           ,"attribute_d" : ""
       }
  }
}

att_subgrp_b_a を更新したいとしましょう:

exports.updateProfil = function(req, res, item, callback) {
    var email = req.session.email;
    db.collection('profiles', function(err, collection) {
        collection.update({"email": email},{$set: item}, function(err, result)

var "item" は次のようになります。

{
    attribute_group_b:
    {
        attribute_subgroupgroup_b_a: 
        {
            att_a: "xy"
            ,att_b: "xy"
        }
    }
}

ファイルを更新すると=> attr_group_bのすべてが削除され、「item」に置き換えられます

つまり、attr_subgrp_b_b が完全になくなり、(attr_subgrp_b_a の) 他のすべての属性が更新されていないことを意味します。




「item」の属性を探して、それらをdbに置き換えて、他のすべてのobjをそのままにしておきたい

4

1 に答える 1