Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sails.js无法更新显示库以更新到mongoDB_Javascript_Mongodb_Sails.js - Fatal编程技术网

Javascript Sails.js无法更新显示库以更新到mongoDB

Javascript Sails.js无法更新显示库以更新到mongoDB,javascript,mongodb,sails.js,Javascript,Mongodb,Sails.js,我正在尝试更新一个程序,以便更新并插入mongodb,但我一直收到一个错误。让我把相关的代码贴在这里,希望能得到一些帮助 PosProductVariant.js module.exports = { schema : true, attributes: { // unique name identifier name : { type: 'text', unique : true , required : true }, prod

我正在尝试更新一个程序,以便更新并插入mongodb,但我一直收到一个错误。让我把相关的代码贴在这里,希望能得到一些帮助

PosProductVariant.js

module.exports = {
    schema : true,
    attributes: {
        // unique name identifier
        name : { type: 'text', unique : true , required : true },
        product : { model : 'PosCustomProduct' },
        additionalPrice : { type : 'integer', defaultsTo: 0 },
        // assets
        display         : { model : 'CmsProductVariant' },
        // store referrer
        store : { model : 'SystemStore' }
    }
};
module.exports = {
    schema : true,
    attributes: {
        // custom product variant reference
        product : { model : 'PosProductVariant' },
        // custom title
        title : { type : 'string' },
        gallery : { type : 'array' , defaultsTo : [] }, // main gallery
    }
};
    module.exports = {
        updatePricing : function(req,res,next){
            // get pricing parameters
            var pricing = req.allParams(),
                query = {};
            // parameters violation
            if(!pricing.additionalPrice)
                return res.badRequest();
            // compose query
            for(var attr in pricing){
                if(attr !== 'additionalPrice' && _.isArray(pricing[attr])){
                    query[attr] = pricing[attr];
                }
            }
            sails.log.verbose('pricing parameter');
            sails.log.verbose(pricing);
            sails.log.verbose('update query');
            sails.log.verbose(query);
            PosProductVariant.update(query,{
                additionalPrice : pricing.additionalPrice,
display : pricing.display.gallery
            })
            .then(function(_variant){
                if(!_variant) throw 'Cant update Variant';
                res.ok();
            })
            .catch(function(error){
                sails.log.error(error);
                res.serverError(error);
            });
        }
    };
CmsProductVariant.js

module.exports = {
    schema : true,
    attributes: {
        // unique name identifier
        name : { type: 'text', unique : true , required : true },
        product : { model : 'PosCustomProduct' },
        additionalPrice : { type : 'integer', defaultsTo: 0 },
        // assets
        display         : { model : 'CmsProductVariant' },
        // store referrer
        store : { model : 'SystemStore' }
    }
};
module.exports = {
    schema : true,
    attributes: {
        // custom product variant reference
        product : { model : 'PosProductVariant' },
        // custom title
        title : { type : 'string' },
        gallery : { type : 'array' , defaultsTo : [] }, // main gallery
    }
};
    module.exports = {
        updatePricing : function(req,res,next){
            // get pricing parameters
            var pricing = req.allParams(),
                query = {};
            // parameters violation
            if(!pricing.additionalPrice)
                return res.badRequest();
            // compose query
            for(var attr in pricing){
                if(attr !== 'additionalPrice' && _.isArray(pricing[attr])){
                    query[attr] = pricing[attr];
                }
            }
            sails.log.verbose('pricing parameter');
            sails.log.verbose(pricing);
            sails.log.verbose('update query');
            sails.log.verbose(query);
            PosProductVariant.update(query,{
                additionalPrice : pricing.additionalPrice,
display : pricing.display.gallery
            })
            .then(function(_variant){
                if(!_variant) throw 'Cant update Variant';
                res.ok();
            })
            .catch(function(error){
                sails.log.error(error);
                res.serverError(error);
            });
        }
    };
PosProductController.js

module.exports = {
    schema : true,
    attributes: {
        // unique name identifier
        name : { type: 'text', unique : true , required : true },
        product : { model : 'PosCustomProduct' },
        additionalPrice : { type : 'integer', defaultsTo: 0 },
        // assets
        display         : { model : 'CmsProductVariant' },
        // store referrer
        store : { model : 'SystemStore' }
    }
};
module.exports = {
    schema : true,
    attributes: {
        // custom product variant reference
        product : { model : 'PosProductVariant' },
        // custom title
        title : { type : 'string' },
        gallery : { type : 'array' , defaultsTo : [] }, // main gallery
    }
};
    module.exports = {
        updatePricing : function(req,res,next){
            // get pricing parameters
            var pricing = req.allParams(),
                query = {};
            // parameters violation
            if(!pricing.additionalPrice)
                return res.badRequest();
            // compose query
            for(var attr in pricing){
                if(attr !== 'additionalPrice' && _.isArray(pricing[attr])){
                    query[attr] = pricing[attr];
                }
            }
            sails.log.verbose('pricing parameter');
            sails.log.verbose(pricing);
            sails.log.verbose('update query');
            sails.log.verbose(query);
            PosProductVariant.update(query,{
                additionalPrice : pricing.additionalPrice,
display : pricing.display.gallery
            })
            .then(function(_variant){
                if(!_variant) throw 'Cant update Variant';
                res.ok();
            })
            .catch(function(error){
                sails.log.error(error);
                res.serverError(error);
            });
        }
    };
pricing.html

<form class="grid-fluid grid-parent" name="pricingForm" ng-if="isDefined(product)"
    ng-disabled="isProcessing" ng-submit="updatePricing()" novalidate>
    <div class="form-group grid-50" ng-repeat="(attr, options) in product.attributes">
        <label>{{attr}}</label>
        <select multiple ng-model="pricing[attr]" class="form-control" ng-options="option for option in options" required></select>
    </div>
    <div class="form-group grid-100">
        <label>add price</label>
        <input type="number" class="form-control" ng-model="pricing.additionalPrice" placeholder="add price" required />
    </div>
    <div class="form-group grid-100">
        <carousel class="bg-dark">
            <slide ng-repeat="slide in pricing.display.gallery" active="slide.active" index="$index">
                <img ng-src="{{slide.gallery}}" style="margin:auto;">
                <div class="carousel-caption">
                    <a class="button button-error button-labeled"
                        ng-click="removeItem(pricing.display.gallery,$index)">
                        <span class="button-label"><i class="icon icon-trash-a"></i></span>
                        delete image
                    </a>
                </div>
            </slide>
        </carousel>
        <hr/>
        <div class="form-group">
            <label>tambahan galeri</label>
            <file-uploader class="form-control"
                image-width="{{galleryConfigs.width}}"
                image-height="{{galleryConfigs.height}}"
                image-crop-width="{{galleryConfigs.width}}"
                image-crop-height="{{galleryConfigs.height}}"
                max-size="5000"
                allowed-extensions="png,jpeg,jpg"
                result-model="addGallery">
            </file-uploader>
        </div>
    </div>

    <!-- action -->
    <div class="form-group grid-100">
       <hr/>
        <button type="submit" class="button button-primary button-labeled"
            ng-disabled="pricingForm.$invalid || pricingForm.$pristine || isProcessing" >
            <span class="button-label"><i class="icon icon-paper-airplane"></i></span>
            Update Pricing
        </button>
        <button class="button button-default button-labeled pull-right" role="action"
            ng-click="goBack()" ng-disabled="isProcessing">
            <span class="button-label"><i class="icon icon-android-close"></i></span>
            Back
        </button>
    </div>
</form>
我的代码有什么问题?请帮帮我,先生