.exec(function(err,result))的结果未显示结果,尽管已将条目输入数据库

时间:2018-07-29 00:01:45

标签: sails.js

我正在尝试向数据库中添加一个新用户,并根据err和createdUser的结果为前端生成文本。

尽管对数据库进行了输入,但创建用户的字段仍保持不变。怎么了?

任何帮助表示赞赏

User.create(req.body).exec(function (err, createdUser) {
           if (err != null)
             res.send({ 'message': err, 'user': 0 });
           else
             res.send({ 'message': "user created", 'user': createdUser });
         });

1 个答案:

答案 0 :(得分:1)

在使用Sails v1〜时,如果不隐式地将提取作为请求的一部分,那么返回创建,更新或销毁的记录就不会发生。

import React,{Component} from 'react';

const formatValues = ({days,hours,minutes,seconds}) =>
{
    const hourString = ('0' + hours).slice(-2);
    const minString = ('0'+ minutes).slice(-2);
    const secString = ('0' + seconds).slice(-2);
    return (days + ':' + hourString + ':' + minString + ':' + secString);
}

class MCCountdown extends Component
{
    constructor(props)
    {
        super(props);
        this.state = {
            endDate:this.props.endDate,
            countdown:'0:00:00:00',
            secondRemaining:0,
            id:0
        }
        this.initializeCountdown = this.initializeCountdown.bind(this);
        this.tick = this.tick.bind(this);
    }

    componentDidUpdate(prevProps, prevState)
    {
        if(this.props.endDate !== prevProps.endDate)
        {
            clearInterval(prevState.id);
            this.setState({endDate:this.props.endDate});
            this.initializeCountdown();
        }
    }

    componentDidMount()
    {
        this.initializeCountdown();
    }

    tick() {
        const values = this.getTimeRemaining(this.state.endDate);
        this.setState({countdown:formatValues(values),secondRemaining:values.secondsLeft});
        if(values.secondsLeft <= 0)
        {
            clearInterval(this.state.id);
            if(this.props.onComplete)
            {
                this.props.onComplete();
            }
            return;
        }
        else
        {
            if(this.props.onTick)
            {
                this.props.onTick(this.state.secondRemaining);
            }
        }
      }

      getTimeRemaining(endtime){
        const total = Date.parse(endtime) - Date.parse(new Date());
        const seconds = Math.floor( (total/1000) % 60 );
        const minutes = Math.floor( (total/1000/60) % 60 );
        const hours = Math.floor( (total/(1000*60*60)) % 24 );
        const days = Math.floor( total/(1000*60*60*24) );
        return {
          secondsLeft: total,
          days,
          hours,
          minutes,
          seconds
        };
    }

    initializeCountdown(){
        const values = this.getTimeRemaining(this.state.endDate);
        const id = setInterval(() => this.tick(),1000);
        this.setState({id:id,countdown:formatValues(values),secondRemaining:values.secondsLeft});
      }

    render()
    {
        const {countdown} = this.state;
        return(<div>{countdown}</div>);
    }
}

export default MCCountdown

对于上面的示例,您可以通过将代码更改为

来返回记录
.meta({fetch: true})

您可以找到有关.fetch()或.meta({fetch:true})here的更多信息。