如何在Breeze.js中使用MongoLab Api?

时间:2013-07-30 20:10:36

标签: mongodb angularjs breeze mlab

如何使用MongoLab Api将MongoDB连接到带有angular.js的Breeze.js任何人都可以帮助连接设置。有人试过这个设置吗?

https://api.mongolab.com/api/1/databases/my-db/collections/my-coll?apiKey=myAPIKey

这是来自breeze网站的datacontext.js。 这是plunkr http://plnkr.co/edit/upp7wB?p=preview

app.factory('datacontext',['$http','logger',  function($http, logger) {
  var log = logger.log;

  log("Creating datacontext");
  configureBreeze();

  var useLocalHost = false;
  var host=useLocalHost ? "http://localhost:63428" : "http://sampleservice.breezejs.com";
  var serviceName = host+"/api/todos";

  var manager = new breeze.EntityManager(serviceName);

  plunkerHelpers.isCorsCapable();
  var datacontext = {
    getAllTodos: getAllTodos,
    reset: reset
  };
  return datacontext;

  /***  supporting functions ***/  

  function getAllTodos() {
    var query = breeze.EntityQuery.from("Todos");    
    log("Getting Todos");
    return manager.executeQuery(query).then(success);

    function success(data) {
        log("Retrieved " + data.results.length);
        return data.results;
    }
  }

  function reset() {
    manager.clear(); 
    var deferred = Q.defer();
    $http.post(serviceName + '/reset')
     .then(resetSuccess, resetFail);
    return deferred.promise;

    function resetSuccess() {
      log("Database reset");
      deferred.resolve();
    }
    function resetFail() {
      log("Database reset failed");
      deferred.reject(new Error("Database reset failed"));
    }
  }

  function configureBreeze() {
    // configure to use the model library for Angular
    breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
    // configure to use camelCase
    breeze.NamingConvention.camelCase.setAsDefault();
  }
}]);

源文件。 http://www.breezejs.com/samples/todo-angular

https://support.mongolab.com/entries/20433053-REST-API-for-MongoDB

2 个答案:

答案 0 :(得分:2)

在您发布问题大约一周后,Breeze人员使用他们编写的MongoDB特定客户端和服务器适配器发布了一个完整的MongoDB示例。

他们已经updated their MongoDB documentation here

示例应用是Zza!

他们的服务器端适配器是名为breeze-mongodb

的Node包

他们的客户端适配器是Breeze.dataservice.mongo.js(Available on GitHub

如果我理解你的问题,我认为上述资源将比通用适配器更好。希望有所帮助。

答案 1 :(得分:0)

进行初步谷歌搜索,我找到了连接到breezejs的文档:http://www.breezejs.com/documentation/mongodb

Breeze / MongoDB - 服务器端处理部分下,他们详细说明了连接的步骤。

示例:

var host = 'localhost';
var port = 27017;
var dbName = 'MyNorthwindDatabase';

当您使用MongoLab注册时,您可以登录Web UI并创建数据库。单击数据库,您将找到您的URI-它应如下所示:mongodb:// dbuser:dbpassword @ HOST:PORT / dbName

您应该可以使用这些凭据连接到Breeze。

快乐的编码!

编辑:你可能想在SO上查看这个帖子:angular + breeze + mongoLab