有没有办法创建一个内部有许多mongoDB对象ID的数组属性



我使用 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[];
// ...
}

相关内容

  • 没有找到相关文章

最新更新