当前位置: 首页 > 知识库问答 >
问题:

如何在SpringData中使用mongodb的字符串id和字符串集合名称从mongodb获取文档

惠洛华
2023-03-14

我知道一般来说,我们需要做类似的事情才能在Spring data中从mongoDB获取文档:

  1. 定义一个类并用@Document:
  2. 注释它
@Document ("persons")
public class Person

MongoOps.findById(p.getId(), Person.class);

问题是在运行时我不知道文档的类类型,我只有它的字符串集合名称和它的字符串ID。如何使用SpringData检索文档?类似于这样:

db.myCollectionName.findOne({_id: myId})

结果对象类型并不重要,它甚至可以是一个对象,我只想将其映射到jackson JsonNode。

共有1个答案

毛成济
2023-03-14

一种可能的解决方法,您可以像这样使用mongooperation的聚合函数

AggregationResults<Object> aggResults = mongoOps.aggregate(newAggregation(match(Criteria.where("_id").is(myId)) ,
                myCollectionName, Object.class);

    return aggResults.getUniqueMappedResult();
 类似资料:
  • 我正在使用Node.js程序将数据插入MongoDB数据库。我已将数据插入到名为“repl-failOver”的集合中。 当我使用Mongo shell并使用< code>show collections列出数据库中的集合时,我能够看到集合“repl-failOver”。 如何从mongoshell为这个集合运行查找命令?

  • 本文向大家介绍如何获取 MongoDB 聚合中的子字符串,包括了如何获取 MongoDB 聚合中的子字符串的使用技巧和注意事项,需要的朋友参考一下 要获取子字符串,请在MongoDB中使用$substr。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是在MongoDB聚合中获取子字符串的查询- 这将产生以下输出-

  • 我有两根绳子 在两种情况下,我应该删除

  • 问题内容: 有没有一种方法可以在Python中对字符串进行子字符串化,以从第三个字符到字符串末尾获取新的字符串? 也许喜欢吗? 如果离开第二部分意味着“直到最后”,而如果离开第一部分,它是否从头开始? 问题答案: Python称这个概念为“切片”,它不仅适用于字符串,还适用于更多的领域。看看这里的一个全面的介绍。

  • 问题内容: 如何通过反射找出方法的字符串名称是什么? 例如给出: 我想获取字符串“ getFoo”,如下所示: 问题答案: 由于方法本身不是对象,因此它们没有直接的属性(就像您希望使用JavaScript之类的一流函数那样)。 您能做的最接近的是致电 是一个对象,您可以使用它调用任何反射方法。 但是,据我所知,一种方法无法识别自己。

  • 我需要返回带有mongoDB聚合的字符串数组。我做了以下操作: 它返回: 有没有一种方法可以返回像这样的字符串数组: 非常感谢任何花时间帮助我的人。。 编辑 添加数据: