云数据库 字段是数组,数组中是否包含某个值,在where中如何写

发布于 8 年前作者 yang315096 次浏览最后编辑 8 年前来自 ask

云数据库 字段是数组,数组中是否包含某个值,在where中如何写

看文档里

const _ = db.command
db.collection('todos').where({  progress: _.in([0, 100])
})
.get({  success: console.log,  fail: console.error
})

它是字段是否在数组中,和我的需求相反

2 回复
qzhong
qzhong1 楼6 年前

字段值是数组的,不仅无法查是否包含某值,其它条件查询也表现得很奇怪。比如某记录有字段,v:[“a”,“b”],当查询条件为{v:“a”},或{v:“b”},或{v:_.eq(“a”)},或{v:_.eq(“b”)}都能查到它。注:其中  _ = db.command。甚至查询条件里同时用{v:“a”,v:“b”}或同时用{v:_.eq(“a”),v:_.eq(“b”)}也能查到。

mren
mren2 楼6 年前

暂不支持,我们后续会提供相应 API,敬请关注