我使用 Loopback4。 当我想在我的模型中添加一个mongoDb ObjectId属性时,我这样做:
@property({
type: 'string',
mongodb: {dataType: 'ObjectID'},
})
organizationId?: string;
现在我想创建一个包含MongoDB ObjectId属性的数组,所以我尝试这样做:
@property({
type: 'array',
itemType: 'string',
mongodb: {dataType: 'ObjectID'},
})
tagsId?: string[];
但似乎所有数组都转换为 mongoDB 中的一个 ObjectID。
我想做的是简单地获取一个包含许多 ObjectId 的数组。我尝试了我的知识:这还不够。
我找到了一个解决方案: 步骤 1 : 创建一个只有一个 ID 的模型。 步骤 2 : 使用新模型创建数组
步骤 1 : 在您未来的模型中(在我的情况下:tagReference(:
@model()
export class TagReference extends Entity {
@property({
type: 'string',
mongodb: {dataType: 'ObjectID'},
})
id?: string;
constructor(data?: Partial<TagReference>) {
super(data);
}
}
第 2 步: 您想要阵列的位置:
import {TagReference} from './tag-reference.model';
@model()
export class Resource extends BaseEntity {
// ...
@property({
type: 'array',
itemType: TagReference,
})
tagIds?: string[];
// ...
}