使用Presto查询MongoDB嵌入式/嵌套文档的数组

沃尔顿

说我有以下文件:

db.inventory.insertMany( [
   { item: "journal", instock: [ { warehouse: "A", qty: 5 }, { warehouse: "C", qty: 15 } ] },
   { item: "notebook", instock: [ { warehouse: "C", qty: 5 } ] },
   { item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 15 } ] },
   { item: "planner", instock: [ { warehouse: "A", qty: 40 }, { warehouse: "B", qty: 5 } ] },
   { item: "postcard", instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);

我想基于仓库和数量查询库存文件。在mongo shell中,我会这样做:

db.inventory.find( { "instock": { $elemMatch: { qty: 5, warehouse: "A" } } } )

我将如何在Presto中做到这一点?

埃比尔

instock将被映射为array(row(warehouse varchar, qty double))type并$elemMatch等于Trino中的any_match数组函数(以前为Presto SQL)。

select * from inventory where any_match(instock, x -> x.qty = 5 and x.warehouse = 'A');
  item   |                      instock
---------+---------------------------------------------------
 journal | [{warehouse=A, qty=5.0}, {warehouse=C, qty=15.0}]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法从MongoDB解码嵌入式文档(嵌套)

Mongoid:基于嵌入式文档数组的大小查询

mongodb聚合中的项目嵌套嵌入式文档

查询嵌入式文档数组给出错误答案

基于范围查询MongoDB中嵌入式文档的数组

MongoDB查询以查找多个嵌入式文档

复杂查询猫鼬-嵌入式文档数组

查询Spring Data MongoDB中嵌入式文档的数组

在mongoDb中对嵌入式文档数组(3个级别)进行过滤查询

MongoDB查询-聚合和嵌入式文档

在mongodb nodejs中更新双嵌套的嵌入式文档,而无需使用数字索引

使用C#获取和添加/更新多层嵌入式/嵌套MongoDB文档

是否有任何查询通过检查mongoDb中嵌套的嵌入式文档的字段来查找文档

如何在mongodb中使用node.js删除嵌入式(嵌套)文档

如何在嵌入式数组mongodb中查询嵌入式文档

MongoDB:与查询不匹配的嵌入式文档

在mongodb中更新嵌套的嵌入式文档

Mongoid嵌套嵌入式文档保存忽略查询

MongoDB嵌入式文档自我查询

查询MongoDB中的嵌入式文档

在文档中引用文档的嵌入式数组的嵌入式数组上查询Doctrine2和MongoDB

春季查询嵌入式文档的数组

何时使用嵌入式文档MongoDB

php:将mongodb嵌入式文档查询到数组中

如何在MongoDB中查询数组中的单个嵌入式文档?

如何查询Mongodb的嵌入式数组

MongoDB对数组和嵌入式文档的条件验证

如何在 MongoDb 中查询嵌入式文档?

Hibernate repo 查询以访问 mongodb 嵌入式文档