Я недавно начал разрабатывать приложение для своего старшего проекта, которое требует от меня использования некоторого типа базы данных. Для этого я решил пойти с Mongoose, потому что это noSQL, и его немного легче подобрать.
Итак, перенесемся вперед, и я столкнусь с проблемой, когда не могу понять, как отредактировать уже существующую схему и добавить в нее новые ключи.
Например, у меня есть эта схема, которая представляет пост (например, твиты или посты в Facebook), который содержит:
- Строка, которая содержит тело сообщения
- Идентификатор пользователя, создавшего сообщение
- Дата создания сообщения
Мой код для этого:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// Create Schema
const PostsSchema = new Schema({
Value: {
type: String,
required: true
},
User: {
type: Schema.Types.ObjectId,
ref:'users'
},
Date: {
type: Date,
default: Date.now
}
});
// Create collection and add schema
mongoose.model('posts', PostsSchema, 'posts');
Теперь мне нужно как-то получить доступ к этой схеме и добавить в нее новый ключ, используя что-то похожее на
PostsSchema.add({Private: { default: false}});
Это означает, что теперь схема в базе данных будет выглядеть примерно так:
{
"_id": {
"$oid": "1831g98af21n9s5u7s9ccchj5"
},
"Value": "Beautiful day outside, can't wait to go jogging!",
"User": {
"$oid": "9a79ab143lbk9lk55wq327oi3226m"
},
"Date": {
"$date": "2018-10-29T01:28:44.408Z"
},
"Private": "false"
"__v": 0
}
Итак, вернемся к моему вопросу, есть ли способ сделать это? Или, если у вас есть ссылка на документацию таких методов, я был бы очень признателен. Большое спасибо!