Обходные пути Ross и Jellyflower не работают, когда используется проекция поля или упорядочение.
Более общее обходное решение:
from bson import json_util
json = json_util.dumps(query._cursor)
Попробуйте использовать Browser ES Module Loader для загрузки соответствующих модулей.
Добавьте следующую ссылку на скрипт в заголовок:
<script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.3.4/bluebird.min.js"></script>
<script nomodule src="https://unpkg.com/browser-es-module-loader/dist/babel-browser-build.js"></script>
<script nomodule src="https://unpkg.com/browser-es-module-loader"></script>
Примечание: соблюдайте порядок, и ссылка bluebird.min.js используется для устранения ошибки «обещание не определено».