我有以下变体:
type variant = {one} / {two:int} / {three:string}
使用opa2doc()方法,我希望能够向MongoDB数据库询问包含特定变量值(一,二或三)的所有行,而不考虑每个变量的值。我使用的是低级mongodb API。
我尝试过类似的事情:
opa2doc({ kind={two=_} })
但它不起作用。
适用于opa2doc({ kind={one} })
,因为此变体没有任何附加数据。
知道如何使这项工作吗?
答案 0 :(得分:1)
如果要使用绑定到本机MongoDB query API,则可能需要构建正确的MongoDB查询文档。查找模式的查询(而不是与相等性比较)使用特殊的query operators,它们是JSON值。 Opa的高级数据库API使用自己的类似ML的运算符为您完成此任务。您的案例的原生MongoDB查询文档需要$exists
operator:
{ "kind.two": { $exists: true } }
在旧语法中应该是:
Bson.opa2doc({ `kind.two`= { `$exists`= true } })