有没有一种方法可以创建一个数组属性,里面有很多 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[];
// ...
}
我使用 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[];
// ...
}