问题标签 [mongodb-java]

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 回答
1868 浏览

mongodb - MongoDB python绑定比java慢一个数量级?

我在 mongodb-user 列表上问了同样的问题:http ://groups.google.com/group/mongodb-user/browse_thread/thread/b3470d6a867cd24

我希望这个论坛上的人可能有一些见解......

我进行了一个简单的实验,比较了使用 python 和 java 的游标迭代的性能,发现 python 实现慢了大约 10 倍。我希望有人能告诉我是否可以预料到这种差异,或者我是否在 python 方面做了一些明显低效的事情。

基准测试很简单:它执行查询,遍历游标,并检查每个文档中的相同字段。在 python 版本中,我每秒可以检查大约 22k 个文档。在 java 版本中,我每秒可以检查大约 220k 个文档。

我已经看到了一些关于 python 性能的类似问题,我接受了建议并确保我使用的是 C 扩展:

最后,我不认为这种差异是由于 python 和 java 之间的根本差异,至少在我的测试代码级别。例如,如果我将查询的文档存储在 python 列表中,我可以非常快速地遍历该列表。换句话说,造成差异的不是低效的python for循环。此外,在插入文档时,Java 与 Python 的性能几乎相同。

以下是有关查询的更多详细信息:

  • python 和 java 实现都在同一个集合上使用相同的查询并在同一台机器上运行。
  • 该集合包含大约 2000 万份文档。
  • 该查询返回大约 200 万个文档,即我正在检索大约 10% 的集合。
  • 每个文档包含三个简单的字段:一个日期和两个字符串。
  • 查询是索引的,在实际查询中花费的时间对于 python 和 java 实现都可以忽略不计。游标迭代是运行时的原因。
0 投票
2 回答
39204 浏览

spring-data - 在 Spring Repository 接口中使用 sort() 和 limit() 进行查询

我是 MongoDB 的 Spring Data 新手,希望在我的 MongoRepository 扩展接口中有一个自动生成的查询方法,需要过滤、排序和限制。

查询如下所示:

存储库界面如下所示:

我知道可以将 Sort 参数添加到查询方法中以进行排序,但问题是将结果限制为单个对象。这是否可以在不必编写自定义 JobRepositoryImpl 的情况下完成?

谢谢

编辑:

我正在寻找的示例:

或者

但这显然不起作用:(

0 投票
2 回答
620 浏览

java - Java - 在 Mongo 中将字符串存储为没有任何类型的对象

我有

在 Mongo 中,这被保存为

但我希望它被保存为

我怎样才能改变它以像这样保存它Mongo?

我试图插入的“somestring”是一个 Javascript 函数。

0 投票
4 回答
1713 浏览

spring-data-mongodb - 来自 spring mongo 的 dropDatabase

我想在我的集成测试之前在我的 mongo 中删除数据库。是否可以通过 spring mongo 做到这一点?

如果它现在不可用,是否可以从 spring mongo 以某种方式获取 com.mongodb.DB 对象,所以我可以调用它的 dropDatabase() ?

0 投票
2 回答
421 浏览

mongodb - 在 mongodb 中计算对象数组中的值

我正在尝试收集我在 mongodb 的推文集合中拥有的所有主题标签,我想计算每个主题标签在推文中出现的次数。hcoll 是使用此代码创建的主题标签的集合。

但是如果对相同的推文第二次执行此代码,那么即使没有第二次将 tweetid 添加到数组中,计数器“count”也会增加。

我正在寻找一种仅在 tweetid 不在数组“tweetsid”中时才增加“count”值的方法。但是我想要一个查询,因为我了解如何使用两个或更多查询来完成它。如果这是不可能的,请告诉我,所以我只需要两个或更多查询就可以了!感谢:D

0 投票
1 回答
2362 浏览

mongodb - 如何在没有 $pull 或 $pop 的情况下更新数组中的第 n 个元素?

如何更新数组中第 n 个位置元素的值?

我想更新 category_id 的索引 2。

一种解决方案是 ($pop$pull) 和$addToSet

还有其他解决方案吗?

0 投票
19 回答
248373 浏览

mongodb - 如何部分更新 MongoDB 中的对象,以便新对象与现有对象重叠/合并

鉴于此文档保存在 MongoDB

需要保存具有来自外部世界的新信息的param2对象param3

我想在对象的现有状态上合并/覆盖新字段,这样 param1 就不会被删除

这样做

将导致 MongoDB 完全按照要求执行,并将 some_key 设置为该值。更换旧的。

让 MongoDB 只更新新字段的方法是什么(没有明确地一一说明)?得到这个:

我正在使用 Java 客户端,但任何示例都将不胜感激

0 投票
10 回答
70797 浏览

java - Spring Data MongoDB 日期之间

我使用弹簧数据MongoDB。

我想要两个日期之间的记录。以下 MongoDB 查询有效:

我尝试的 Spring 数据查询对象代码翻译不起作用:

构建我需要的 Mongo 查询的方法调用的正确顺序是什么?

0 投票
2 回答
6222 浏览

mongodb - Spring-Data mongodb查询存储在同一个集合中的多个类

使用 Spring-Data,您可以使用 @Document 注释来指定将对象保存到哪个集合。假设我有两个班级,学生和教师,都坚持到人员集合中。当我执行以下代码时:

结果同时包含学生和教师。查看 Spring-Data 创建的数据,每个文档都包含一个“_class”字段,该字段指示它来自哪个类。

这是不是在查找中用作过滤器以仅返回教师的字段?除了这样做之外,我如何只查询老师:

0 投票
2 回答
12639 浏览

mongodb - java中的Mongo DB查询

我必须使用 java 编写一个复杂的 mongo 查询,但我无法做到。

mongo 查询如下所示:

我必须使用 QueryBuilder 类编写上述查询。我可以通过什么方式做到这一点?

谢谢