您可以使用dynamoose让多个模型共享一个表吗?我有两个模型,我希望它们保存在同一个表中,并通过type
哈希键和id
范围键区分它们。
const Courses = dynamoose.model(
process.env.CONTENT_TABLE,
new dynamoose.Schema(
{
id: { type: String, rangeKey: true },
type: { type: String, hashKey: true },
department: { type: String },
description: { type: String },
image: { type: String },
name: { type: String },
},
{
throughput: 1,
timestamps: true
}
),
{ update: true }
);
const Teachers = dynamoose.model(
process.env.CONTENT_TABLE,
new dynamoose.Schema(
{
id: { type: String, rangeKey: true },
type: { type: String, hashKey: true },
picture: { type: String },
name: { type: String },
bio: { type: String }
},
{
throughput: 1,
timestamps: true
}
),
{ update: true }
);
这些是我使用的方法。我可以在console.logging中告诉args参数具有我期望进入new ...
的内容。来自new Course
或new Teachers
函数的return语句具有我添加的所有参数,但它们实际上并未在数据库中结束。那是为什么?
create: ({ args, context }) =>
new Courses({
id: shortid.generate(),
type: course,
...args
}).save()
create: ({ args, context }) => {
console.log(args);
return new Teachers({
id: shortid.generate(),
type: teacher,
...args
}).save();
答案 0 :(得分:0)
我弄清楚发生了什么事。 Dynamoose doesn't support having multiple models for the same table。这可能是未来的一个特点。我认为解决这个问题的最佳方法是将模型合并在一起或使用不同的ORM。