我开始在这里学习 Dynamodb,目前正在尝试在我的表上进行搜索,其中 PK 是分区键,SK 是范围键。PK 包含一个电子邮件地址,而 SK 包含诸如AB_STATE
, BC_STATE
,之类的值MY_STATE
。所以我想在 SK 中搜索值开始的地方,MY_
但我不完全确定如何使用.get()
函数来完成它。
这是我的查询Seller.get({ "PK": "imin@cats.com", "SK" : "MY" })
,显然没有做我想要的。
我知道我也许可以使用下面的过滤器,但我在很多地方读到不推荐使用过滤器(?)
var filter = new dynamoose.Condition().where("PK").eq(email).filter("SK").beginsWith("MY_");
var premiseProfile = await Seller.query(filter).exec()
下面是我的卖方表的架构
const schema = new dynamoose.Schema({
PK: {
type: String,
hashKey: true,
},
SK: {
type: String,
rangeKey: true,
},
"firstName": String,
"lastName": String,
"gender": {
"type": Number,
"default": 0
},
}, {
"saveUnknown": true,
"timestamps": true
});