Я делаю приложение, которое работает для отдельных пользователей.Я могу вставить данные в базу данных без идентификатора пользователя, но при попытке добавить идентификатор Google в схему и базу данных выдается ошибка типа.Что-то с моей схемой мангуста, похоже, сломано
TodoController.js
var bodyParser = require("body-parser");
var mongoose = require("mongoose");
const keys = require("../configs/keys");
const Todo = require("../models/todo-model")
//Connect to the database
mongoose.connect(keys.mongodb.tododbURL,() => {
console.log("connected to mongodb server");
});
//var data = [{item:"get milk"}, {item:"walk nan"}, {item:"code for a bit"}];
var urlencodedParser = bodyParser.urlencoded({ extended: true });
const authCheck = (req, res, next) =>{
if(!req.user){
//executed if user isn't logged in
res.redirect("/");
} else {
//if logged in
next(); // fires to the next functionS
}
};
module.exports = function(app){
app.get("/todo", authCheck, function(req, res){
//Get data from mongoDB andd pass through view
Todo.find({}, function(err, data){
if (err) throw err;
res.render("todo", {todos:data});
});
console.log(req.user.googleID)
});
app.post("/todo", urlencodedParser,function(req, res){
//get data from view and put it in the database
var newTodo = Todo({item: req.body, googleID: req.user.googleID}).save(function(err, data){
if (err) throw err;
res.json(data);
})
});
app.delete("/todo/:item", function(req, res){
// delete requested item from the database
Todo.find({item: req.params.item.replace(/\-/g, " ")}).remove(function(err, data){
if(err) throw err;
res.json(data);
});
});
};
req.user.googleID вернет что-то вроде 1374979743
todo-model.js
const mongoose = require("mongoose");
const todoSchema = new mongoose.Schema({
todo: String,
googleID: String
});
const Todo = mongoose.model("Todo", todoSchema);
module.exports = Todo;
istening on port 3000
(node:2656) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
connected to mongodb server
connected to mongodb server
TypeError: Cannot read property 'googleID' of undefined