gpt4 book ai didi

java - 使用java从mongodb中的URL插入文档JSON

转载 作者:行者123 更新时间:2023-12-02 12:10:10 26 4
gpt4 key购买 nike

我是 MongoDb 的新手,我必须使用 java 程序在 MongoDB 中上传文件。我试图写一些东西,但我不知道这是否是正确的方法。有人能帮我吗?我的困难是我必须上传的 json 文件位于链接地址中。mongodb可以通过java语言读取文档并上传到数据库吗?我加载下面的代码。谢谢。

import java.io.IOException;
import java.util.Iterator;
import org.bson.Document;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.util.JSON;


public class mongodb {

public static void main (String args []) throws IOException {

MongoClient mongo = null;
MongoDatabase db = null;

try {
/**** Connect to MongoDB ****/
mongo = new MongoClient("localhost", 27017);

/**** Get database ****/
db = mongo.getDatabase("db_plant");

System.out.println("Successfully connected to database");
} catch (Exception e) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}

DBCollection collection = db.getCollection("plants");

final String URL = "https://www.plants.usda.gov/java/downloadData?fileName=plantlst.txt&static=true";
String json = getTextFromUrl(URL);

DBObject dbObject = (DBObject)JSON.parse(json);
collection.insert(dbObject);

DBCursor cursorDocJSON = collection.find();
while (cursorDocJSON).hasNext() {
System.out.println(cursorDocJSON).next();
}
collection.remove(new BasicDBObject();
}

private static String getTextFromUrl(String uRL) {
// TODO Auto-generated method stub
return null;
}

}

最佳答案

您正在使用旧的 API。如果您使用Mongo java driver 3.X,正确的api是:

MongoCollection<Document> collection = database.getCollection("plants");

Document dbObject = Document.parse(json);

MongoCursor<Document> cursor = collection.find().iterator();

关于java - 使用java从mongodb中的URL插入文档JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46603834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com