有没有一种方法可以创建一个数组属性,里面有很多 mongoDB objectiID

Is there a way to create one array properties with many mongoDB objectiID inside

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

   // ...
}