Запрос сгенерированный mon go -версии без модели - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу использовать mon goose -version для отслеживания и сохранения изменений в mongodb.

Я создал этот пример схемы.

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var version = require('mongoose-version');

var PageSchema = new Schema({
    title : { type : String, required : true},
    tags : [String],
});

PageSchema.plugin(version, { collection: 'Page__versions' });

const PageModel = mongoose.model('PageModel', PageSchema)

Так что все версии хранятся в коллекции Page__versions, но как я могу запросить эту коллекцию, потому что у меня нет модели для этой коллекции.

1 Ответ

1 голос
/ 20 февраля 2020

Для получения коллекции вы можете использовать объект базы данных mon goose, который возвращается из функции createConnection. Поэтому, когда вы запускаете приложение, вы сохраняете эту переменную следующим образом:

let db = mongoose.createConnection(url, params);

И затем вы можете использовать этот объект для получения нужной коллекции, в данном случае

let collection = db.collection("Page__versions");

На данный момент Вы можете использовать стандартные методы для выполнения операций CRUD с этой коллекцией, например, если вы хотите найти все документы, которые имеют указанное свойство c в этой коллекции, вы можете сделать что-то вроде

collection.find({myProperty: value});

И это даст вам все документы в этой коллекции, которые соответствуют критериям.

Если вы не знаете модель, вы всегда можете получить один элемент из коллекции и посмотреть, каков будет результат

let doc = collection.findOne({}); //This will get the first document in the collection
...