Получение сообщения о вложенной схеме в MongoDB - PullRequest
0 голосов
/ 04 октября 2018
const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const userSchema = new Schema({
    name: String,
    created: new Date()
})

const user = mongoose.model('user', userSchema);

module.exports = user;

После добавления нового Date () я получаю сообщение об ошибке: TypeError: Undefined type undefined at created Вы пытались вложить схемы?Вы можете вкладывать только ссылки или массивы.

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Я предполагаю, что вы намеревались иметь тип поля Date со значением mongoose default текущего времени даты ... так как вы назвали это поле created.Я бы пошел дальше и назвал бы это created_At ...

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

const userSchema = new Schema({
    name: String,
    created_At: { type: Date, default: Date.now }
})

const user = mongoose.model('user', userSchema);

module.exports = user;

Теперь у вас будет автоматически заполненное поле created_At Дата каждый раз, когда вы создаете новую user модель.

Мы специально сказали, какого типа мы хотим, чтобы поле было, и мы также добавили значение default.

Подробнее о мангустах по умолчанию вы можете прочитать здесь

0 голосов
/ 04 октября 2018

Вы определяете схему, и вам просто нужен тип, а не объект.Вместо использования new Date() просто используйте Date.

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

const userSchema = new Schema({
    name: String,
    created: Date
})

const user = mongoose.model('user', userSchema);

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