如何将数组插入对象?

时间:2015-12-23 02:58:50

标签: angularjs mongodb sails.js

我正在使用SailsJS,AngularJS和MongoDB构建应用程序,我很困惑如何将数据数组插入到对象中。这是我的架构

的示例

Asset.js

select count(*) as NumProcessed, sum(isProcessed = 0) as NumUnprocessed
from t
where worker = 'john.smith@example.org';

这是我的观点表格

module.exports = {
    schema : false,
    attributes: {
        product : { model : 'Product' },
        store   : { model : 'Store' },
        key     : { type : 'object' }
    }
};

这是我的查询

<tbody ng-repeat="attr in product.category.templateAttribute" ng-show="{{product.category.name == 'custom'}}">
    <tr>
        <td>
            <input class="form-control input-small" value="{{attr.attribute}}" />
        </td>
        <td>
            <input class="form-control input-small" placeholder="name" ng-model="product.attributes[attr.attribute].name" />
        </td>
        <td>
            <input class="form-control input-small" placeholder="add price" ng-model="product.attributes[attr.attribute].additionalPrice" />
        </td>
    </tr>
    <tr>
        <td colspan="3">
            <file-uploader class="form-control input-small"
                max-size="25000"
                result-model="product.attributes[attr.attribute].file">
            </file-uploader>
        </td>
    </tr>
</tbody>

我的查询中出现了什么问题,没有错误,只有键中的值只有数组没有对象。

我希望结果是这个

ProductCustomAsset.create({
    product     : product.id,
    store       : product.store,
    key         : product.attributes
})
.then(function(){
    next();
})
.catch(function(error){
    next(error);
});

1 个答案:

答案 0 :(得分:0)

根据我对AngularJS的个人经验,你为什么要引用它 使用product.attributes输入ng-model?

你试过这个:

<input class="form-control input-small" placeholder="name" ng-model="{{attr.name}}" />
像你一样:

 <input class="form-control input-small" value="{{attr.attribute}}" />

当然,以AngularJs的方式处理其余的产品实体。