MongoDB - Java | 使用MongoDB Java Driver连接到mongoLab

我正在实现一个使用存储在mLab中的mongoDB数据库的android应用程序。 我连接到数据库的方式是我的Android应用程序中的代码如下:</ p>

  private MongoCollection&lt; Document&gt;  getCollectionn(String link,String coll){
// link is:mongodb://&lt; user&gt;:&lt; password&gt; @ ds&lt; port&gt; .mlab.com:&lt; port&gt; /&lt; db&gt;
MongoClientURI uri = new MongoClientURI(link);
MongoClient client = new MongoClient(uri);
MongoDatabase db = client.getDatabase(uri.getDatabase());
返回db.getCollection(coll);
} \ n </ code> </ pre>

我想知道这是否是连接数据库的最佳方式。 我正在读它有性能和安全问题。 例如,通过存储在服务器中的php文件与数据库连接并从我的查询中获取结果并在我的应用程序中使用它们会更好吗? 还有其他方法吗?</ p>

编辑</ strong> </ p>

从mongoLab文档中他们会说以下内容:</ p> \ n

应用程序可以通过两种方式访问​​mLab数据库。</ p>

第一种方法 - 我们强烈建议的 </ strong> - 是使用一种方法连接 可用的MongoDB驱动程序。 如果使用驱动程序,则无需使用我们的API。 实际上,使用驱动程序可以提供更好的性能,更好的安全性和更多的功能。</ p>

本文中介绍的第二种方法是通过mLab的RESTful Data API进行连接。 仅当您无法使用MongoDB驱动程序进行连接时才使用此方法。</ p>

此处是其API的文档。 </ p>

那么为什么有人建议使用RESTful API,而mongoLab 强烈</ strong>推荐使用mongo java驱动程序? 是因为它关于Android吗?</ p>

谢谢!</ p>
</ div>

展开原文

原文

I am implementing an android application that uses mongoDB database that is stored in mLab. The way i am connecting to the database is with code in my android application as follows:

private MongoCollection<Document> getCollectionn(String link, String coll){
//link is: mongodb://<user>:<password>@ds<port>.mlab.com:<port>/<db>
    MongoClientURI uri  = new MongoClientURI(link);
    MongoClient client = new MongoClient(uri);
    MongoDatabase db =  client.getDatabase(uri.getDatabase());
    return db.getCollection(coll);
}

I was wondering if this is the best way to connect with the database. I am reading that it has performance and security issues. Would it be better, for example, to connect with the database via a php file that is stored in a server and get the results from my queries from there and use them in my application. Is there some other way?

EDIT

From mongoLab documentation they are saying the following:

mLab databases can be accessed by applications in two ways.

The first method - the one we strongly recommend - is to connect using one of the available MongoDB drivers. You do not need to use our API if you use the driver. In fact, using a driver provides better performance, better security, and more functionality.

The second method, documented in this article, is to connect via mLab’s RESTful Data API. Use this method only if you cannot connect using a MongoDB driver.

Here is the documentation to their API.

So why would someone suggest to use the RESTful API while mongoLab strongly recommends the mongo java driver? Is it because its about Android?

Thanks!

dongwupu5991
dongwupu5991 非常感谢!这两个答案都有助于开始。
4 年多之前 回复
douwen9534
douwen9534 有多少客户端可以连接到数据库的物理限制。如果数据库客户端是移动设备,则会遇到连接的可伸缩性问题。如果数据库凭据随移动应用程序一起分发,也很难保护数据库凭据。移动客户端和利用连接池的数据库之间的app/api层是一种更好的架构。由@BlakesSeven链接的SA问题谈到实现这样的app/api层(RESTfulAPI),它并不建议使用mLab的RESTfulAPI。希望有助于澄清。
4 年多之前 回复
drcx71276
drcx71276 我喜欢我的问题:)再次感谢Blakes!
4 年多之前 回复
down123321123
down123321123 你读过这个:从Android应用程序连接MongoDB
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问