问题标签 [mongo-java-driver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1923 浏览

mongodb - 使用 JAVA 在 MongoDB 中进行无序批量更新

我有 MongoDB 文档,例如:

{_id:1001, "title":"abc", "author":"xyz"}

为 100 万个此类文档更新作者的最佳方法是什么?我开始了解 MongoDB 中的无序批量更新。如何使用 Mongo 的 Java 驱动程序来实现。

0 投票
1 回答
775 浏览

java - 使用java mongo驱动在java中实现mongodb查询

我正在使用下面的 mongo 查询来获取最高温度。任何人都可以帮助如何使用 BasicDBObject和使用mongo java驱动程序在java中实现DBObject吗?

0 投票
1 回答
249 浏览

java - 如何使用 mongo java 驱动程序设置日志文件?

我有一个 java 程序,它在我的数据库中插入并打印一些日志。

我用 :

我想知道如何配置配置属性日志以选择日志文件。实际上,我的日志只是打印在我的终端上。

提前致谢

0 投票
1 回答
2324 浏览

mongodb - MongoDb Java 驱动程序 - MongoException$Network:对服务器 localhost:27017 的读取操作失败

我们在上周开始间歇性地收到以下错误。到目前为止,我们无法将这个问题具体追溯到任何事情。有问题的查询是对具有大约 400k 个对象的集合的聚合。我们为不同的客户端运行相同的应用程序,并且它开始发生在超过 400k 标记的客户端上。我直接运行查询,大约花了 1.5 秒。当我们迭代另一个聚合的结果时,发生了同样的异常:


有任何想法吗?

0 投票
0 回答
326 浏览

mongodb - 如何有效地对 MongoDB GridFS 进行限制查询

我似乎找不到对包含 n 个文件限制的 MongoDB GridFS 进行查询的有效方法。

这是我尝试过的。

问题在于实际上发生了 21 个查询操作。

首先是实际调用 DBCollection.find() 的 getFileList()。

然后对于每个结果都会发生 findOne() ,最终调用 DBCollection.find({"filename":filename})10次。

之后,当我在输入流上调用 read 时,它会在所有10文件的块集合上调用 findOne("files_id":id) 。


我注意到在 GridFS.find() 中它查询文件集合,将每个 DBObject 转换为 GridFSDBFile,并将其 (fs) 变量设置为this(GridFS)。(所有这些都通过 injectGridFSInstance(Object))

如果 getFileList() 操作也这样做了,那么一切都会好起来的,但它只是返回一个标准游标。您可以将 DBObject 强制转换为 GridFSDBFile,但是当您尝试在 InputStream 上调用 read 时,它会抱怨没有定义 GridFS 实例,因此没有获取数据块所需的信息。

我希望能够设置 fs 变量,但它是私有的。


底线:

有没有办法在 GridFS 上进行查询,其中包含一个 .limit(n) ,而不必将查询操作的数量加倍。

0 投票
3 回答
17700 浏览

java - 使用 MongoDB Java 3.0 驱动程序批量更新

在早期版本的 MongoDB Java 驱动程序中,要运行查询并对结果进行无序批量 upsert,我们所做的就是:

但是在第 3 版中,随着 Bson 文档支持和 MongoCollection.bulkWrite() 方法的引入,如何做到这一点?

我试过这个:

但是,我需要 upsert 功能。

谢谢。

0 投票
2 回答
900 浏览

java - MongoDB 聚合结果作为嵌套 Json

这是我的 MongoDB 集合的一部分:

. . 而且,它去了。

我需要做的是对于每个唯一的“id”,获取所有“i”、“x”和“info.j”的总和。我完全可以做到:

输出为:

到目前为止,一切看起来都很完美。除了,我不能像在原始集合中一样将输出中的“j”作为嵌套对象保留在“info”中。我能做些什么 ?

谢谢。

0 投票
4 回答
12981 浏览

java - MongoDb BSON 以 UTC 时间存储日期

如果我尝试将日期字段放入文档 (BSON) 并将其写入 Mongo,BSON 会以 UTC 格式写入。例如,一个日期

将被存储为

在蒙古。而且,如果我使用相同的 Java 驱动程序检索它,我会得到它

伟大的。没有解决办法吗?我的意思是,为什么我不能按我的意愿存储我的日期?如果我需要从另一个时区查询数据库怎么办?我会得到不同的结果吗?日期字段是 Mongo 的重要组成部分,周围有丰富的运算符。不过,为什么 Mongo 不提供这种灵活性呢?谢谢

0 投票
1 回答
82 浏览

json - 如何以 RDBMS 驱动方式执行 MongoDB 查询

在 RDMS 中,如果我必须执行“从 empid=100 的员工中选择 emp_name”。我会这样做,

我怎样才能在 MongoDB 中执行相同的操作,我得到类似 "Employee.find({'empid:1000'},{emp_name:1}) 的查询

目前这是我正在使用的代码,其中我必须分别编写“where”和“select”部分,我的意思是 dbObj(where) 和 projectdbObj(projecttion Or select part)。

请帮助优化代码。

0 投票
0 回答
556 浏览

java - 在 Java 客户端中写入 Mongo 副本集的最低配置

我是吗啡的新手。我正在使用 morphia 和 mongo-java-driver.jar 通过 Java 程序与副本集(集群需要它)进行对话。我写了下面的示例程序:

  1. 如果我想在所有节点中安全地写入数据,有哪些必要步骤?
  2. 我需要为副本设置的最低配置是什么?
  3. 需要什么验证来检查副本集是关闭还是存活,是否可读,如果应用程序或程序找不到主节点,我们如何管理?