首页 > 数据库 >mongodb关于字符串id与ObjectId关联查询的办法

mongodb关于字符串id与ObjectId关联查询的办法

时间:2023-02-14 10:25:32浏览次数:45  
标签:toObjectId uid ObjectId mongodb 关联 user id

 db.ub.aggregate([
    {
        $match: {
            _id: ObjectId("xxxx")
        }
    },
    {
	// 提取users里面的user_id转换未ObjectId,名称定为uid
      $addFields: {"uid":{$toObjectId: "$user_id"}}
    },
    {
        $lookup: {
            from: "users",// 关联集合
			// 这里就可以用这个uid进行关联
            localField: "uid",
            foreignField: "_id",//user里面的_id就是ub的外键
            as: "user"
        }
    },{
        $unwind: "$user"
    }
])

注意在3.4的mongo里面无法支持$toObjectId的写法,4.2测试是可以使用的

标签:toObjectId,uid,ObjectId,mongodb,关联,user,id
From: https://www.cnblogs.com/qiudaozhang/p/17118761.html

相关文章

  • fiddler 安装编码插件
    1.解压编程猫插件2.把解压文件全部复制到  D:\02-software_python\15-Fiddler\install\Fiddler\Scripts文件夹里3.进入D:\02-software_python\15-Fiddler\install\Fid......
  • optee km4.0 VTS: PerInstance/SigningOperationsTest.RsaGetKeyCharacteristicsRequi
    异常日志:#./VtsHalKeymasterV4_0TargetTest--gtest_filter=PerInstance/SigningOperationsTest.RsaGetKeyCharacteristicsRequiresCorrectAppIdAppData/0_defaultNote......
  • keycloak 添加 identity provider
    1.  启动keycloak:下载keycloak-20.0.3.zip,windows版本。2.kc.batstart-dev,本地可以打开 localhost:80803.启动一个openIdconnect服务。这里用ident......
  • Mongodb基本使用
    MongoDB基本介绍Mongodb是C++语言编写基于分布式文件存储的开源数据库,属于NOSQL。Mongodb是在关系型与非关系型数据之间的产品,是非关系数据库中功能最丰富,最像关系型......
  • Android 之 环境搭建
    1.Gradlegradle跟maven一样是一个包管理工具,Android项目默认的包管理工具,这两天使用下来,感觉比maven更加简洁,其他暂时没啥赶脚。1.1配置Javagradle需要java8+1.2......
  • 9种 分布式ID生成方式
    一、为什么要用分布式ID?在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征?1、什么是分布式ID?拿MySQL数据库举个栗子:在我们业务......
  • 如何修复identity 2的默认登录路由中的错误
    将services.ConfigureApplicationCookie移到services.AddIdentity之后,最重要的是删除服务中的AddDefaultUI。在此引用以下是更改默认登录页面的代码:service......
  • Mybatis05 - 将有固定格式的文件添加至IDEA模板
    将常用的固定格式的配置文件添加为IDEA中的模板Mybatis核心配置文件mybatis-config.xmlMybatis映射文件mybatis-mapper.xml可以在新建文件时直接使用添加的模板红......
  • mongodb的查询命令
    db.collection.find()db.collection.find({属性:值})db.collection.findOne()查询集合中符合条件的所有的文档:db.stus.find();//返回数组,里面有多个对象db.stus.fin......
  • .Net6 + GraphQL + MongoDb 实现Mutate更新数据
    介绍Query的部分我们讲完了,现在讲一下Mutate(就是操作增修删)本节讲一下修改,删除就不讲了正文publicrecordUpdatePostInput(stringPostId,stringTitle,string......