我有一个project.json的环回模型
project.json
"properties" : {
"users": {
"type": [
{
"user_id": "string"
}
]
}
}
id存储字符串格式的数组
{
"users" : [
{
"user_id" : "5ae319e8ac5718155ca719d0"
},
{
"user_id" : "5ae31a4d770afb158ef6c048"
}
]}
如何将字符串存储为这样的objectId
{
"users" : [
{
"user_id" : ObjectId("5ae319e8ac5718155ca719d0")
},
{
"user_id" : ObjectId("5ae31a4d770afb158ef6c048")
}
]
}
答案 0 :(得分:1)
在Loopback 4中,可以将字符串存储为ObjectId,如下所示: 在回送模型文件中定义此属性
@property({
type: "string",
mongodb: { dataType: "ObjectId" }
})
mainId?: string;
答案 1 :(得分:0)
您应该考虑将其定义为关系,而不是对象列表。然后,您可以定义诸如用户或成员之类的关系。我假设一个项目有许多用户,并且一个用户可以属于许多项目。然后,您需要定义hasAndBelongsToMany
关系:
Project.hasAndBelongsToMany(User);
User.hasAndBelongsToMany(Project);
您可以详细了解here。
答案 2 :(得分:0)
在项目模型中
"relations": {
"user": {
"type": "belongsTo",
"model": "user",
"foreignKey": "id"
}}
在用户模型中
"relations": {
"projects": {
"type": "hasMany",
"model": "project",
"foreignKey": "project_user_id"
}}
如果没有关系,可以使用
const ObjectId = require('mongodb').ObjectId;
var userId=ObjectId("5ae319e8ac5718155ca719d0")
并创建到数据库。
您可以使用typeof(userId)检查类型。这将是一个对象。