【问题标题】:How to set mongo field from variable如何从变量设置mongo字段
【发布时间】:2013-06-26 02:10:53
【问题描述】:
for(var key in resp.updated_items){
    Meteor.users.update({backend_id: Meteor.user().backend_id},
    {$set: {'profile': {key: resp.updated_items[key]}}});
}

并且此查询将正确的信息设置为键键。但是如何分配键的“真实”值?

【问题讨论】:

    标签: javascript mongodb meteor


    【解决方案1】:

    如果你只有一个值要更新

    updateUserData: function(userId, key, value) {
                this.unblock();
                let set = {};
                set[key] = value;
                Meteor.users.update({
                    _id: userId
                }, {$set: set});
    
                return true;
    
            }
    

    【讨论】:

      【解决方案2】:

      基础知识:

      var obj = {key: 'value'}; //prints {key: "value"}
      var obj2 = {};
      var key = 'someKey';
      obj2[key] = 'someValue';
      //{someKey: 'someValue'}
      

      试试这个:(你必须使用[]。)

      for(var key in resp.updated_items){
        var set = {profile: {}};
        set.profile[key] = resp.updated_items[key];
        Meteor.users.update({backend_id: Meteor.user().backend_id},
        {$set: set});
      }
      

      我不记得set 在流星中是如何工作的。但是在 mongo 中,你必须这样做:

      for(var key in resp.updated_items){
        var set = {};
        set['profile.' + key] = resp.updated_items[key];
        Meteor.users.update({backend_id: Meteor.user().backend_id},
        {$set: set});
      }
      

      【讨论】:

        猜你喜欢
        • 2015-01-11
        • 2020-06-30
        • 2016-05-25
        • 1970-01-01
        • 2016-09-07
        • 2015-07-17
        • 2020-07-24
        • 2021-08-15
        • 2012-07-22
        相关资源
        最近更新 更多