2017-02-21 22 views
0

У меня есть шаблон панели администратора, который встроен в nodejs, jquery и угловой.Подключитесь к Mongodb от Углового, откуда?

Я пытаюсь подключить его к mongodb, чтобы сделать простые операции CRUD.

Я установил mongojs через npm для этой цели, но как мне его взять? Сама датабаза уже настроена и готова к использованию.

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

var databaseUrl = "mydb"; // "username:[email protected]/mydb" 
var collections = ["users", "reports"] 
var db = require("mongojs").connect(databaseUrl, collections); 

Я понял, что он должен быть на стороне сервера, как на стороне клиента не будет запускаться require('mongojs') части. Но в каком файле он должен быть помещен? И если он помещен в код на стороне сервера, как мне добраться до объекта «db» со стороны клиента при выполнении операций CRUD?

Заранее благодарен!

+0

Не так быстро! Сначала прочтите [модель данных] (http://www.webdeveasy.com/angularjs-data-model/). И ответ это «с сервера». – Raz

+0

Я не уверен, понимаю ли вы, что вы имеете в виду @Raz. Не могли бы вы это уточнить? Я уже немного знаком с моделью данных, но как это соотносится с тем, где в коде я размещаю соединение с базой данных? – InfinityStream

ответ

1

Сервер и клиенты - это разные устройства, которые взаимодействуют по протоколу HTTP. Рассмотрите их как разные проекты, которые, к счастью, могут выполнять одни и те же фрагменты кода только потому, что они написаны на одном языке. Соединение с БД - это не такой кусок.

Клиент не подключается к базе данных. Вы не можете предоставить доступ к db всем вашим клиентам. Фактически, db не должен быть доступен из Интернета вообще по соображениям безопасности.

Клиент делает HTTP-запросы на сервер. Сервер извлекает данные db и возвращает их обратно клиенту. Это основная цель почти всех серверов.

Эти данные обновляют состояние моделей в вашем коде контроллера.

+0

Спасибо! Я решил это enventually, установив CRUD-сервер с Mongoose и выразить. – InfinityStream