用属性模式(Attribute Pattern)存商品规格:specs 是 [{k, v}] 数组,支持按任意属性组合筛选。查询\”品牌=adidas 且 颜色=red\”,期望只命中阿迪达斯的红鞋,结果耐克的红鞋也回来了。排查后发现两件事叠在一起:$elemMatch 的语义被误解了一半,另一半问题出在查询字符串参数的解析上。
问题现象
Schema 与索引:
const AttributeSchema = new Schema({
k: {
type
用属性模式(Attribute Pattern)存商品规格:specs 是 [{k, v}] 数组,支持按任意属性组合筛选。查询\”品牌=adidas 且 颜色=red\”,期望只命中阿迪达斯的红鞋,结果耐克的红鞋也回来了。排查后发现两件事叠在一起:$elemMatch 的语义被误解了一半,另一半问题出在查询字符串参数的解析上。
Schema 与索引:
const AttributeSchema = new Schema({
k: {
type
评论前必须登录!
注册