[英]how can insert data into mongodb from android app?
我想将我的 json 数据插入到 mongo 数据库中,我导入了 mongo Driver v 3.2.2 并在 mlab.com 中创建了一个数据库,集合,但我无法在数据库中发送数据这样的文档。
这是我的代码:
try {
MongoClientURI uri = new MongoClientURI("mongodb://user:pass@ds041939.mlab.com:41939/vado");
MongoClient client = new MongoClient(uri);
DB db = client.getDB(uri.getDatabase());
DBCollection collection = db.getCollection("salam");
DBObject dbObject = (DBObject) JSON.parse("{'name':'mkyong', 'age':30}");
collection.insert(dbObject);
DBCursor cursorDoc = collection.find();
while (cursorDoc.hasNext()) {
System.out.println(cursorDoc.next());
}
} catch (Exception e) {
e.printStackTrace();
}
你的代码有点不赞成。 我调整了它(使用mongo-driver 3.2.2)并对我当地的mongo进行了测试,它运行正常:
try {
MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017/test");
MongoClient client = new MongoClient(uri);
MongoDatabase db = client.getDatabase(uri.getDatabase());
MongoCollection<BasicDBObject> collection = db.getCollection("salam", BasicDBObject.class);
BasicDBObject document = new BasicDBObject();
document.put("name", "mkyong");
document.put("age", 30);
collection.insertOne(document);
MongoCursor iterator = collection.find().iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} catch (Exception e) {
e.printStackTrace();
}
确保您通过maven
或gradle
安装mongo驱动程序,因此您拥有所有瞬态依赖项,因为mongo驱动程序需要bson
和mongodb-driver-core
。
谢谢你,先生。 我正在使用mlab.com并获取连接字符串... import mongo-java-driver-3.4.0-SNAPSHOT和bson 3.3.0。 在此处输入图像描述图片显示连接状态已连接。 但不要插入数据库编辑的代码:
try {
MongoClientURI uri = new MongoClientURI("mongodb://va***:******@ds049446.mlab.com:49446/sensingt");
MongoClient client = new MongoClient(uri);
MongoDatabase db = client.getDatabase(uri.getDatabase());
MongoCollection<BasicDBObject> collection = db.getCollection("salam", BasicDBObject.class);
BasicDBObject document = new BasicDBObject();
document.put("name", "mkyong");
document.put("age", 30);
collection.insertOne(document);
MongoCursor iterator = collection.find().iterator();
//System.out.println("Insert successfully");
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} catch (Exception e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.