node.js - 与环回角色映射中的 principalId 混淆
问题描述
与角色映射中的 principalId
混淆。如何将其保存在 mongoDb 中。字符串或 ObjectId。
哪个是正确的保存方法?
{
"_id" : ObjectId("5d65f6efed4198ce6bc70d58"),
"principalType" : "USER",
"principalId" : ObjectId("5d65f6e9ed4198ce6bc70d57"),
"roleId" : ObjectId("5c74dbc3fe56e53b13b04fd7")
}
或者
{
"_id" : ObjectId("5d65f6efed4198ce6bc70d58"),
"principalType" : "USER",
"principalId" :"5d65f6e9ed4198ce6bc70d57",
"roleId" : ObjectId("5c74dbc3fe56e53b13b04fd7")
}
解决方案
保存它的正确方法是使用 ObjectId。由于它所引用的表将具有始终是 ObjectId 默认值的 _id。
ObjectId、Number、String 和 Buffer 可用作引用。但是,除非您是高级用户并且有充分的理由这样做,否则您应该使用 ObjectId。
此外,如果您想填充此字段(principalId),如果您使用 ObjectId 保存它也变得容易。
推荐阅读
- spring-boot - 使用 Java(Quarkus 或 Spring-Boot)使用 XML-RPC API
- java - 单元测试:我应该在 thenReturn() 中使用 null 还是 Optional.empty()?
- sql-server - 如何在 PowerShell 中执行以下 T-SQL 脚本
- spring-boot - Google Cloud Run - 无法发送出站请求
- ms-access - MS Access Go 控制子窗体
- javascript - 如何在对象javascript中获取加倍属性的数量
- android - Google Play 结算库 - 印度地区的订阅未启用免费试用
- linux - 如何使用 sed 命令将 = 之后的值替换为 null
- fpga - Xilinx FPGA 中的路由问题。[路由 35-54] 网络:design_1_i/AdcClock_X/inst/IntFClk 未完全路由
- python - 如何将变量传递给函数