Пн goose: обновление динамически сгенерированной коллекции - PullRequest
0 голосов
/ 09 апреля 2020

У нас есть node.js проект и мы используем mon goose для операций mongodb.

Ночное задание запускается и динамически создает новую базу данных с именем 'zonecountaggregate' в базе данных.

Мне нужно обновить эту коллекцию, когда происходит изменение данных из пользовательского интерфейса.

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

const account = await Account.findById(req.params.id);
....
const updatedAccount = await account.save();

У меня вопрос, как мне обновить это? коллекция Dynami c? Сначала я проверил, существует ли коллекция с таким именем, а затем, если существует, обновил какое-то поле на основе идентификатора.

Я делаю это прямо сейчас, но не вижу результатов, возвращающихся.

const {
  ObjectId
} = require('mongoose').Types;
var mongoose = require('mongoose');
mongoose.connect(process.env.MONGODB_URI);
var connection = mongoose.connection;
var db = mongoose.connection;
mongoose.connect(process.env.MONGODB_URI);

const test =  await db.collection('zonecountaggregate').find({_id: ObjectId("5e8ec95181d6ef6f64b69b2c")});
      console.log(test)

мы используем «mon goose»: «^ 5.7.8»

1 Ответ

0 голосов
/ 09 апреля 2020

Таким образом вы обновляете любое поле в mon goose после нахождения коллекции: Model.where ({_id: id}). Update ({$ set: {title: 'words'}}). Вы должны установить поля, которые вы хотите обновить, используя вашу схему. Для получения дополнительной информации, пожалуйста, ознакомьтесь с официальными документами пн goose.

...