Javascript mongoose save不是使用架构的函数
我得到了StripeToken.save不是一个函数错误,代码如下。那是我的模型,我不知道哪里出了问题,我觉得还可以Javascript mongoose save不是使用架构的函数,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我得到了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 Str
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
}
你的模型似乎是正确的 modelschema.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
的连接时共享
希望我能帮上忙。你的模型似乎是正确的 modelschema.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
的连接时共享
希望我能帮上忙。save()是保留字吗?我试过保存令牌,但现在成功了(save()是一个保留字?我尝试了save_token,它现在起作用了:(