2016-11-05 2 views
0

В документации MongoDB, когда я ищу сортировку, это направляет меня на cursor.sort() page. (кстати, в документации не указано, что возвращается из этого метода.). Поэтому я использовал его в своем сценарии метеорита Collection.find().sort('date':1), но получил жалобу, что find(). Sort не является функцией. (Я думал, что find() действительно возвращает курсор, не так ли?)В чем разница между find ({}, {sort: ...}) и find(). Sort (...)?

Так что я сделал еще один поиск и нашел несколько руководств, которые говорят мне использовать find ({}, {sort: ...}).

В чем разница между этими двумя методами?

ответ

1

В рамках Meteor некоторые вещи, которые вам нужны для движения Метеор!
Просто используйте Collection.find, как указано в Meteor Docs, и передайте Sort Specifier.

В чем разница между этими двумя?
Один был обернут Метером и работает внутри рамки, а другой нет!

Я не верю, что вы увидите разницу в производительности между «Meteor api» из рамки или «стандартным MongoDB api» из (non meteor) nodejs.

2

Использование находки ({}, вроде ... Спрашивает Монго для сортировки, и это является наиболее эффективным способом, так как сервер базы данных может оптимизировать свой род, если поле индексируется.

Meteor не предоставить полностью Mongo api, потому что мини-Mongo в браузере имеет все функции, и они хотят обеспечить согласованный api как на клиенте, так и на сервере.

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

+0

fetch() изменит курсор на массив, что может сломать некоторые другие вещи в моих скриптах ... – modeller

+0

Похоже, что бит привязан, потому что я думаю, что Meteor не поддерживает сортировку курсора :) – Mikkel