Android上的MongoDB


Answers:


40

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

转到您的应用程序build.gradle文件。在依赖项下添加此“ compile”条目(您可能必须替换版本):

dependencies {
  ...
  implementation 'org.mongodb:mongo-java-driver:3.0.3'
}

如您所见,截至本文,驱动程序的版本为3.0.3。您可以在http://search.maven.org上搜索“ mongo-java-driver”或任何相关术语来找到当前版本。

如果要连接到外部数据库,则当然需要将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());

由于这与网络有关,因此您将需要在AsyncTask类中运行所有这些。

从这里开始,遵循https://www.mongodb.org/上的Java教程应该相对简单。


1
这可能会重复使用apache lib进行HTTP通信(Android拥有更多优化版本)时发生的情况。当android放弃对它的支持时,人们会遇到问题。
Neji 2016年

1
直接从android应用程序连接到mongodb有几个缺点,应尽可能避免。从安全角度看,任何可以反编译您的应用程序的人都可以使用服务器位置和凭据。从操作的角度来看,管理连接池变得困难或不可能,并且可能会出现各种性能或可伸缩性问题。
cjungel '16

1
具有讽刺意味的是,亲爱的@ Astral1990您在这里看起来是新手,在谈论mongo客户端,在这里我们正在寻找本地的mongodb对象/文档存储解决方案。
OldGaurd01

上述解决方法尚不清楚,请您说清楚

53

MongoDB具有针对多个操作系统的下载。但是,Android并不是这些系统之一。

人们将MongoDB用作存储数据的“ Web服务”,但是它不具有支持多主复制或偶尔连接的移动方案的任何功能。

如果您需要这些类型的功能,则需要查看使用Android Couchbase专门针对这种情况的CouchDB


3
这个问题在2011年7月得到了回答。现在的情况在2013年6月如何?
Jakub Czaplicki

5
MongoDB的“下载”页面仍列出相同的支持。坦率地说,MongoDB确实不是为Android之类的设备设计的。对于内存有限的小型设备,将数据映射到内存的方式并不是一个好主意。Android Couchbase项目似乎已被放弃,并被“精简版”取代:github.com/couchbase/couchbase-lite-android
Gates VP

4
还要签出PouchDB。这是一个使用浏览器的数据库进行存储的ouchdb实现。可在Android上使用:pouchdb.com
Mike McKay

4
mongo-java-driver现在将在Android上运行,以通过MongoDB连接到Web服务器。
Anonsage 2013年

3

Dory mongoDB服务器

伟大的新Android应用程序
无需植根您的手机,您就可以从任何位置运行js文件。


MongoDB(来自humongous)是一个免费的开源跨平台的面向文档的数据库程序。MongoDB被归类为NoSQL数据库程序,它使用具有模式的类似JSON的文档。

用法:
1:安装Dory mongoDB服务器
2:运行服务器
3:安装Dory node.js
4:在js文件中运行以下代码:

码:

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test', { useMongoClient: true });
mongoose.Promise = global.Promise;

var Cat = mongoose.model('Cat', { name: String });

var kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
  if (err) {
    console.log(err);
  } else {
    console.log('meow');
  }
});

请享用。😉


谢谢。甚至Google搜索都找不到该应用
rsmoorthy

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.