gpt4 book ai didi

java - 通过索引和特定限制检索 Mongo 文档

转载 作者:行者123 更新时间:2023-11-30 07:47:22 24 4
gpt4 key购买 nike

我有一个包含超过 31,000 个文档的集合,我想从我的 Java HTTP(我使用服务)调用中检索 x 数量的文档:

public void sendGet()throws Exception{
//using find service to get all nodes
String url = "service url"; // "http:....."
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// optional default is GET
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", userAgent);
//200 -OK
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
IterationForDocuments+=100; // set to 0;
}

对于每个调用,我想要获取文档 [1-100],对于下一个调用,我想要获取 [101-200] 等等,直到结束。我的问题是: 1 - 有没有一种好方法可以在 java data-types缓存 100 个文档。 2-我应该把索引跟踪服务(mongo)或java类放在哪里?这是我使用的 mongo 查询:

module.exports = function (app, options) {
var mongoFind = {
events: mongoFindEvents,

find: function (req, res) {
var name = "node"
var query = {};
query = req.query;
var Collection = getCollection(name);
Collection.find(query).toArray(function(err, docs) {
res.send(docs);
});
}
};

谢谢!

最佳答案

在此代码段中,您并未显示实际如何查询 MongoDb,但您需要做的是发送您希望检索的文档集的查询参数。然后,在实际查询 MongoDb 的代码中,您需要使用 limitskip 运算符来提取正确的数据。所以你的 HTTP 请求对象将如下所示(JSON 格式):

{
User-Agent: <user-agent>
Skip: ### //ie 100, 200, 300, etc
Limit: ### //Sounds like you always want this to be 100
}

然后在你的查询中(同样,你没有显示实际查询 Mongo 的代码,所以我只是按照 Mongo shell 中的样子编写它):

db.collection.find(<query>).skip(request.skip).limit(request.limit)

关于java - 通过索引和特定限制检索 Mongo 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33739003/

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