Android上的MongoDB

use*_*698 66 android mongodb

有谁知道MondgoDB如何在Android上运行.它是否在本地工作,您以后会复制数据?仅使用网络后端在线工作吗?

Gat*_* VP 53

MongoDB有几个操作系统的下载.但是,Android不是那些系统之一.

人们使用MongoDB作为存储数据的"Web服务",但它没有任何功能来支持多主复制或偶尔连接的移动方案.

如果您需要这些类型的功能,您将需要查看使用Android Couchbase专门针对此场景的CouchDB.

  • MongoDB的"下载"页面仍然列出了相同的支持.坦率地说,MongoDB实际上并不适用于像Android这样的设备.对于RAM有限的小型设备,将数据映射到内存的方式并不是一个好主意.Android Couchbase项目似乎已被放弃,取而代之的是"Lite"版本:https://github.com/couchbase/couchbase-lite-android (5认同)
  • 另外结帐PouchDB.它是一个couchdb实现,它使用浏览器的db进行存储.适用于Android:http://pouchdb.com/ (4认同)
  • mongo-java-driver现在可以在Android上使用MongoDB连接到Web服务器. (4认同)
  • 这个问题在2011年7月得到了回答.2013年6月的情况如何? (3认同)

小智 36

我将恢复这个线程,并说MongoDB的Java驱动程序IS目前与Android兼容.一些新手开发人员可能无法让他们的应用程序使用MongoDB的java库,因此我将概述您必须做的事情(尽管所有这些都可能在您阅读本文时已经过时).

转到您的app build.gradle文件.在您的依赖项下添加此"compile"条目(您可能必须替换该版本):

dependencies {
  ...
  implementation 'org.mongodb:mongo-java-driver:3.0.3'
}
Run Code Online (Sandbox Code Playgroud)

如您所见,此帖子的驱动程序版本为3.0.3.您可以通过搜索"mongo-java-driver"或http://search.maven.org上的任何相关术语来查找当前版本.

如果您要连接到外部数据库,您当然需要为清单添加INTERNET权限.连接到一个非常简单.这是一个例子.替换用户名,密码,主机域,端口和数据库名称:

MongoClientURI uri = new MongoClientURI( "mongodb://username:password@www.example.com:12345/db-name" );
MongoClient mongoClient = new MongoClient(uri);
MongoDatabase db = mongoClient.getDatabase(uri.getDatabase());
Run Code Online (Sandbox Code Playgroud)

由于这与网络相关,因此您需要在AsyncTask类中运行所有这些操作.

关于https://www.mongodb.org/上的java教程,从现在开始应该相对简单.

  • 具有讽刺意味的是,亲爱的@Astral1990,你在这里看起来像是新手,你正在谈论 mongo 客户端,而我们在这里正在寻找本地 mongodb 对象/文档存储解决方案。 (2认同)