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

如何查找和存储来自2个mongo集合的相同文档?

子车轶
2023-03-14

我的程序每天在我的html" target="_blank">数据库中生成 2 个集合。每天我都必须比较这两个集合,并且必须找出文档的某些特定元素在两个集合中是否相同。如果它们相同,我必须将文档存储在某个地方。

注意:每个集合都有94.6k文档。每个文档都包含这些列或元素——_id(一直不同)、学生名、时间输入、时间输出、章节、类。

*我还有一个名为名称的集合。包含所有学生的名字(这是唯一的)*

我必须找出2集合中哪个文档的studentName、timeOfEntry和timeOfExit值相同。我如何才能做到这一点?

像在集合1中一样——一个包含学生值的文档:“伊莎”,入口时间:下午5点,出口时间:下午7点。

集合2还包含具有这些值的文档。

我的方法: ** 我试图在 springboot java 中创建一个函数,其中 -- function(){ 比较 2 个集合 }**

共有1个答案

贺高杰
2023-03-14

查询

    < li >合并两个系列 < li >按3个字段分组,并统计出现次数 < li >仅保留副本(计数

在此测试代码

js prettyprint-override">coll1.aggregate(
[{"$unionWith":{"coll":"coll2"}},
 {"$group":
  {"_id":
   {"studentName":"$studentName",
    "timeOfEntry":"$timeOfEntry",
    "timeOfExit":"$timeOfExit"},
   "count":{"$sum":1},
   "doc":{"$first":"$$ROOT"}}},
 {"$match":{"$expr":{"$gt":["$count", 1]}}},
 {"$replaceRoot":{"newRoot":"$doc"}}
 {"$out": "newCollectionWithDuplicates"}])
 类似资料:
  • 问题内容: 在JPA中,我有2个实体:Entry和Comment。条目包含两个Comment对象集合。 为了存储这些对象,JPA + Hibernate创建“ Entry”表,“ Comment”表和单个“ Entry_Comment”: 对象的存储失败,并且不能同时为“非null”。 如何使用JPA + Hibernate存储包含两个相同类型的集合的对象? 问题答案: 这是许多Hibernate

  • 我有一个不那么独特的需求,但我只是找到了正确的术语来搜索,因为我只得到如何查询列表/数组字段或嵌套元素的结果。 提前感谢所有的帮助。

  • 问题内容: 在JPA中,我有2个实体:Entry和Comment。条目包含两个Comment对象集合。 为了存储此类对象,JPA + Hibernate创建“ Entry”表,“ Comment”表和单个“ Entry_Comment”: 对象的存储失败,并且不能同时为“非null”。 如何使用JPA + Hibernate存储包含两个相同类型的集合的对象? 问题答案: 这是许多Hibernate

  • 我正在使用MongoDB,我最终得到了两个集合(无意中)。 第一次收集(样本)有1亿条记录(推文),结构如下: 第二个集合(用户)拥有来自tweet集合的3000万条独特用户记录,看起来是这样的 用户集合中的_id是来自推文集合的user.screen_name,目标是他们的状态(是否作弊用户),最后value.count是我们第一个集合(样本)集合中出现的用户数量(例如捕获的推文数量) 现在我想

  • 我已经使用web3j和ganache创建了一个投票Dapp,但它们的问题很小。我决定在每次新的选举开始时部署一个投票合同,并且将有一个管理员来控制合同的部署以及选举的开始和结束。因此,在部署投票合约时,只有管理员才能获得合约合约地址。我如何将地址发送给普通公民,以便他们可以调用智能合约。我曾想过将合同地址存储在一个普通的数据库中,但如果数据库被入侵或破坏,整个dapp就会崩溃。web3j中是否有任

  • 使用Spring-Data,您可以使用@Document注释来指定将对象保存到哪个集合。假设我有两个类,学生和教师,都持久化到人员集合中。当我执行以下代码时: 结果包含学生和教师。查看由Spring数据创建的数据,每个文档都包含一个“\u class”字段,该字段指示它从哪个类持久化。 这是在查找中未用作过滤器以仅返回教师的字段?除了这样做之外,我如何仅查询教师: