简体   繁体   English

如何从android应用程序将数据插入mongodb?

[英]how can insert data into mongodb from android app?

I want to insert my json data into mongo database, i import mongo Driver v 3.2.2 and create a database , collection in mlab.com but i cant send data in database such an document.我想将我的 json 数据插入到 mongo 数据库中,我导入了 mongo Driver v 3.2.2 并在 mlab.com 中创建了一个数据库,集合,但我无法在数据库中发送数据这样的文档。

this is my code :这是我的代码:

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();
}

Your code was a little bit deprecated. 你的代码有点不赞成。 I have adjusted it (used mongo-driver 3.2.2) and tested against my local mongo and it works fine: 我调整了它(使用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();
}

Ensure that you install mongo driver via maven or gradle so you have all transient dependencies as well because mongo driver requires bson and mongodb-driver-core . 确保您通过mavengradle安装mongo驱动程序,因此您拥有所有瞬态依赖项,因为mongo驱动程序需要bsonmongodb-driver-core

Thank you, sir. 谢谢你,先生。 I'm using the mlab.com and get connection string... import mongo-java-driver-3.4.0-SNAPSHOT and bson 3.3.0. 我正在使用mlab.com并获取连接字符串... import mongo-java-driver-3.4.0-SNAPSHOT和bson 3.3.0。 enter image description here the picture show connection state is connected. 在此处输入图像描述图片显示连接状态已连接。 but dont insert in database edited code : 但不要插入数据库编辑的代码:

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM