Как сохранить запись в модели мангуста при создании? - PullRequest
0 голосов
/ 21 октября 2019

Я работаю над веб-приложением на Nodejs / Express с mongoose, и предполагается, что в базе данных есть встроенный пользователь-администратор, поэтому я не буду вынужден создавать его с curl или чем-то другим каждый раз, когда яотправьте его, поэтому мне было интересно, было ли что-то вроде oncreate хука для инициализации базы данных с записью только при создании.

1 Ответ

0 голосов
/ 01 ноября 2019

Учетная запись администратора может быть вставлена ​​во время инициализации веб-службы таким образом, что будет создан только один документ с именем пользователя администратора, даже если запрос будет выполнен несколько раз. Документ может быть создан с помощью запроса upsert:

await administratorModel.update({
  // These are the document properties for the admin model
  username: "admin"
}, {
  // This is the filter that mongoose will query if is satisfied in the db
  username: “admin”
}, { 
  // If the document didn't exist in the db, 'upsert' tells mongoose to insert it 
  upsert: true 
})

Документы Mongoose: Model.update ()

...