Мангуст Сохранение пустых объектов в базе данных - PullRequest
0 голосов
/ 07 июля 2019

Я создаю схему с mongoose, состоящую из объектов, имеющих переменную String и Boolean. Мое намерение состоит в том, чтобы заполнить эту базу данных с помощью запросов на отправку из моего веб-приложения, отладки кода, который я проверил, что данные достигают конца, ОК. Я сохраняю объект в базе данных, как показано здесь ниже. Осматривая базу данных из консоли mongo, я обнаружил, что хотя новые объекты были добавлены в коллекцию, новый объект не имеет ни одного из атрибутов, указанных в схеме, скорее он просто имеет _id и два других значения по умолчанию.

Также заметил кое-что любопытное: В предыдущих проектах, подобных этим, я обычно создавал схему и модель в отдельном модуле и экспортировал модель. В этом проекте, однако, я экспортировал схему и создал модель из нее в моем файле основных маршрутов, как и в противном случае, всякий раз, когда я пытался создать новый объект из модели, сервер зависал с «todoModel не конструктор». Этого никогда раньше не было, и я не уверен, почему это происходит сейчас.

Я не уверен, что я делаю здесь неправильно в обоих случаях.

Запуск моего стека на локальном хосте.

MongoDB 2.6 Экспресс / Node.js

Создание схемы:



var mongoose = require("mongoose");
var hosts = require("./hosts.js");

const host = hosts["host"];
const port = hosts["port"];

mongoose.connect("mongodb://"+host+"/todoSite",{ useNewUrlParser: true },function(err){
    if(err)
        console.log(err);
    else
        console.log("Todo mongo connected");

});


var todoSchema = new mongoose.Schema({
        text:String,
        done: Boolean
    });


 //var todoModel = mongoose.model("todo",todoSchema);

module.Exports = todoSchema;

Post Route на сервере:

app.post("/",function(req,res){
    var new_todo = new todoModel({"text": req.body.text,"done": false});
    new_todo.save(function(err,todo){
        if(err)
            console.log(err);
        else
            console.log(todo);
        });

});

{"_id": ObjectId ("5d223b54c772906a65603088"), "__v": 0}

Объекты в том виде, в каком они появляются в базе данных после "сохранения"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...