我正在尝试将一个充满数据的对象发送到我服务器上的一个集合中。问题是,每当我发送到后端时它都不会保存。我将信息发送到名为events
的集合。内容不断发回success! You saved a new item.
每次我检查事件,但是,
它是空的。这是我的代码:
控制器
var CronJob = require('cron').CronJob;
var scrape = require("../models/dataScrape");
//code requesting data...
for(var i = 0; i < titles.length; i++){
data.push({"festival" : titles[i], "date" : dates[i], "url" : links[i]});
}
var _id = "12345";
var body = {"_id" : _id, "events" : data};
var job = new CronJob('0*/1 * * * *', function(req, res){
scrape.eventList.find({}, function (err, count) {
if (!err && count.length == 0) {
var newEvents = new scrap.eventList(body);
newEvents.save(function(err, data){
if(error){
console.log("Error: " + err);
}else{
console.log("success! You saved a new item.");
}
});
}else{
scrape.eventList.update({_id: body._id}, body, function(err){
console.log("update");;
if(err){
console.log(err);
}else{
console.log("success! you updated an item.");
}
});
}
});
}
模型
var mongoose = require("mongoose");
mongoose.connect("mongodb://localhost/BackYardBrewing");
var eventsSchema = mongoose.Schema({
id : {type : String},
events : [{
festival : String,
date : String,
url : String,
}],
})
module.exports = {
eventList : mongoose.model("event", eventsSchema),
}
我在另一个模型上使用了非常相似的格式,它可以很好地保存数据。任何提示?
答案 0 :(得分:1)
在保存方法if(error)
的if语句中应为if(err)
,error
不存在。
根据猫鼬,你的保存方法应该是..
newEvents.save(function(err){
if(err){
console.log("Error: " + err);
}else{
console.log("success! You saved a new item.");
}
});
或者您可以使用create方法
scrap.eventList.create(newEvents, function(err, doc){
if(err)
{ console.log("Error:" + err);}
else{ console.log("success! You saved a new item.");}
});