Как я могу заполнить некоторые Коллекции в MongoDB только в первый раз - PullRequest
0 голосов
/ 01 марта 2020

Я использую NodeJs в качестве бэкенда и MongoDB в качестве базы данных вместе с mongoose.

Я хочу заполнить одну из моих коллекций с именем Users только в первый раз, когда приложение запускается .

Моя цель - автоматически добавить одного пользователя в коллекцию пользователей при первом запуске приложения.

( эта тема называется миграцией в ASP. NET И EntityFramework ).

Как мне добиться этого в Nodejs?

1 Ответ

2 голосов
/ 02 марта 2020

Ну, это довольно просто, вам просто нужно подождать, пока mon goose подключится к вашей базе данных, а затем поместите свой код в прослушиватель событий для подключения к базе данных.

посмотрите пример прямо из mon goose docs

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true});
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
  // You can put your code here
});

ПРИМЕЧАНИЕ: может произойти разрыв соединения, и mongodb будет отключен и повторно подключен (это происходит вручную), вам нужно установить флаг, чтобы убедиться, что вы не заполняете свою базу данных после того, как неохотно переподключение.

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