Mongodb клиентская сторона JavaScript-API - PullRequest
12 голосов
/ 03 сентября 2011

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

Существует ли способ использовать тот же API в обычном javascript-приложении без необходимости писать клиент-серверный код?

Спасибо

Ответы [ 4 ]

7 голосов
/ 03 сентября 2011

Похоже, что сайт использует REST-подобный интерфейс AJAX, но я уверен, что он не получает доступ к какому-либо экземпляру MongoDB напрямую или даже косвенно через некоторый мост.

Дважды подумает перед применением этого шаблона: как вы будетеобеспечивать безопасность?Знаете ли вы об ограничениях AJAX?Если вы действительно знаете, что делаете, официальная документация указывает на несколько полезных ресурсов:

  • Сонный мангуст (Python)полнофункциональный REST-интерфейс для MongoDB, доступный в виде отдельного проекта.

  • MongoDB Rest (Node.js) - это alpha Интерфейс REST для MongoDB, который использует собственный драйвер узла MongoDB.

  • Простой интерфейс REST Процесс Mongod для удобства включает простой интерфейс REST только для чтения.Для полных возможностей REST мы рекомендуем использовать внешний инструмент, такой как Sleepy.Mongoose .

Наличие моста REST и управление той же политикой происхождения вы можете легко получить доступ к MongoDB напрямую, используя вызовы AJAX и JavaScript.

1 голос
/ 15 марта 2019

Для всех, кто интересуется, это возможно с помощью Stitch, которое похоже на Firebase от Google в том смысле, что оно предоставляет клиентскому доступу к базе данных бэкэнда, которая в данном случае MongoDB на Atlas BaaS. Stitch также имеет такие функции, как AWS Lambdas и другие функции, которые имеют смысл для разработки приложений в реальном времени. Это выглядело довольно просто, когда я вчера организовал базовое руководство по блогам. Ура!

https://docs.mongodb.com/stitch/tutorials/

1 голос
/ 01 августа 2014

Посмотрите на метеориты или похожие.Модели написаны один раз, полный ACL.

Становится еще лучше, когда вы добавляете в Redis :)

1 голос
/ 04 мая 2012

Мне нужно было сделать что-то похожее на это, консоль внутри интерфейса администратора, и, поскольку я использую PHP в бэкэнде, я просто создал скрипт для получения команд js и использую метод MongoDB :: execute, соединение в phpуже открыт, поэтому мне не нужно было передавать какие-либо данные аутентификации, только команды.
Вы должны быть очень осторожны с чем-то вроде этого, и убедитесь, что только доверенные пользователи могут получить доступ к странице (и сценарию),не делайте его общедоступным, поскольку любой может выполнить js на клиенте, чтобы получить доступ к вашей базе данных.

Редактировать: Вот ссылка на документы http://ar2.php.net/manual/en/mongodb.execute.php

...