Как использовать rawCollection в функции публикации Meteor - PullRequest
1 голос
/ 07 ноября 2019

Я пытаюсь использовать rawCollection в функции публикации Meteor 1.8.1, основываясь на примере здесь . Вместо того, чтобы возвращать отдельные значения, я хочу вернуть обычный курсор, содержащий все мои документы. Теперь я могу использовать сортировку для реализации нечувствительной к регистру сортировки .

Однако, когда я подписываюсь на публикацию ниже, я получаю следующую ошибку:

Publish function can only return a Cursor or an array of Cursors

Но консольный журнал на сервере выводит следующее:

result Cursor {
I20191107-11:44:26.485(0)?   pool: null,
I20191107-11:44:26.485(0)?   server: null,
I20191107-11:44:26.485(0)?   disconnectHandler: 
...

Итак, похоже, что мой код создает Курсор, но функции публикации это не нравится.

Вот мой код:

publishing.js:

const raw = MyCollection.rawCollection();
raw.findme = Meteor.wrapAsync(raw.find);

Meteor.publish('mycollection', function() {
    const result = raw.findme({});
    console.log('result', result);
    return result;
});

Есть идеи, что я делаю не так? Спасибо!

1 Ответ

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

Я думаю, этот код сработает

Meteor.publish('mycollection', async function() {
    const result = await MyCollection.rawCollection().find({});
    console.log('result', result.fetch());
    return result;
});

Надеюсь, это поможет:)

...