繁体   English   中英

mongoose save不是使用模式的函数

[英]mongoose save is not a function using schema

我得到StripeToken.save不是一个功能错误与下面的代码。 这是我的模型,我想知道出了什么问题,它对我来说还不错。

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var stripe_token_schema = new Schema({
    email: String,
    token: String,
    used: {type: Date, default: 0}
});

var StripeToken = module.exports = mongoose.model('stripe_token', stripe_token_schema);

module.exports.save_token = function(email,token){
    StripeToken.save({email:email,token:token}).exec(callback); //error here
}

你的模型似乎是正确的

模型schema.js:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var stripe_token_schema = new Schema({
    email: String,
    token: String,
    used: {type: Date, default: 0}
});

module.exports = mongoose.model('stripe_token', stripe_token_schema);

但是你应该改变你的.save()函数

postNewMail.js

require('mongoose');
var MailModel= require('./model-schema.js');

. . .

var newMail = {
                email: "fakemail@gmail.com",
                token: "yourGeneratedToken"
};

saveNewUser(newMail).then( function( response ){
  if(response.error){
    console.log(response.error);
  } else {
    console.log('Successfully saved ', response);
  }
});

function saveNewUser(email){
  return new Promise( function (resolve, reject) {
    // Creates a new Email based on the Mongoose schema
    var newEmail= new MailModel(email);
    newEmail.save(function(error) {
        console.log('err', error);
        if (error){
            return reject({error : 'Error while saving email'});
        }
        // If no errors are found, it responds with a JSON of the new email
        return resolve(email);
    });
  });
}

如果您有其他麻烦,请分享您的server.js或初始化与MongoDB的连接。

希望我一直很有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM