问题标签 [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.
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 实现都可以忽略不计。游标迭代是运行时的原因。
spring-data - 在 Spring Repository 接口中使用 sort() 和 limit() 进行查询
我是 MongoDB 的 Spring Data 新手,希望在我的 MongoRepository 扩展接口中有一个自动生成的查询方法,需要过滤、排序和限制。
查询如下所示:
存储库界面如下所示:
我知道可以将 Sort 参数添加到查询方法中以进行排序,但问题是将结果限制为单个对象。这是否可以在不必编写自定义 JobRepositoryImpl 的情况下完成?
谢谢
编辑:
我正在寻找的示例:
或者
但这显然不起作用:(
java - Java - 在 Mongo 中将字符串存储为没有任何类型的对象
我有
和
在 Mongo 中,这被保存为
但我希望它被保存为
我怎样才能改变它以像这样保存它Mongo?
我试图插入的“somestring”是一个 Javascript 函数。
spring-data-mongodb - 来自 spring mongo 的 dropDatabase
我想在我的集成测试之前在我的 mongo 中删除数据库。是否可以通过 spring mongo 做到这一点?
如果它现在不可用,是否可以从 spring mongo 以某种方式获取 com.mongodb.DB 对象,所以我可以调用它的 dropDatabase() ?
mongodb - 在 mongodb 中计算对象数组中的值
我正在尝试收集我在 mongodb 的推文集合中拥有的所有主题标签,我想计算每个主题标签在推文中出现的次数。hcoll 是使用此代码创建的主题标签的集合。
但是如果对相同的推文第二次执行此代码,那么即使没有第二次将 tweetid 添加到数组中,计数器“count”也会增加。
我正在寻找一种仅在 tweetid 不在数组“tweetsid”中时才增加“count”值的方法。但是我想要一个查询,因为我了解如何使用两个或更多查询来完成它。如果这是不可能的,请告诉我,所以我只需要两个或更多查询就可以了!感谢:D
mongodb - 如何在没有 $pull 或 $pop 的情况下更新数组中的第 n 个元素?
如何更新数组中第 n 个位置元素的值?
我想更新 category_id 的索引 2。
一种解决方案是 ($pop
或$pull
) 和$addToSet
。
还有其他解决方案吗?
mongodb - 如何部分更新 MongoDB 中的对象,以便新对象与现有对象重叠/合并
鉴于此文档保存在 MongoDB
需要保存具有来自外部世界的新信息的param2
对象param3
我想在对象的现有状态上合并/覆盖新字段,这样 param1 就不会被删除
这样做
将导致 MongoDB 完全按照要求执行,并将 some_key 设置为该值。更换旧的。
让 MongoDB 只更新新字段的方法是什么(没有明确地一一说明)?得到这个:
我正在使用 Java 客户端,但任何示例都将不胜感激
java - Spring Data MongoDB 日期之间
我使用弹簧数据MongoDB。
我想要两个日期之间的记录。以下 MongoDB 查询有效:
我尝试的 Spring 数据查询对象代码翻译不起作用:
构建我需要的 Mongo 查询的方法调用的正确顺序是什么?
mongodb - Spring-Data mongodb查询存储在同一个集合中的多个类
使用 Spring-Data,您可以使用 @Document 注释来指定将对象保存到哪个集合。假设我有两个班级,学生和教师,都坚持到人员集合中。当我执行以下代码时:
结果同时包含学生和教师。查看 Spring-Data 创建的数据,每个文档都包含一个“_class”字段,该字段指示它来自哪个类。
这是不是在查找中用作过滤器以仅返回教师的字段?除了这样做之外,我如何只查询老师:
mongodb - java中的Mongo DB查询
我必须使用 java 编写一个复杂的 mongo 查询,但我无法做到。
mongo 查询如下所示:
我必须使用 QueryBuilder 类编写上述查询。我可以通过什么方式做到这一点?
谢谢