首页 > 解决方案 > 与环回角色映射中的 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")
}

标签: node.jsmongodbloopbackjsrolesloopback

解决方案


保存它的正确方法是使用 ObjectId。由于它所引用的表将具有始终是 ObjectId 默认值的 _id。

ObjectId、Number、String 和 Buffer 可用作引用。但是,除非您是高级用户并且有充分的理由这样做,否则您应该使用 ObjectId。

此外,如果您想填充此字段(principalId),如果您使用 ObjectId 保存它也变得容易。


推荐阅读