首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用索引查询Mongo数组

使用索引查询Mongo数组
EN

Stack Overflow用户
提问于 2021-11-16 22:51:38
回答 1查看 44关注 0票数 1

有人能解释这种行为吗?

代码语言:javascript
运行
复制
db.inventory.insertMany( [
   { item: "journal", instock: [ { warehouse: "A", qty: null }, { 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 } ] }
]);

https://docs.mongodb.com/v4.2/tutorial/query-array-of-documents/复制

但是第一项,instock.0.qty被替换为null

因此,此查询会产生奇怪的结果:

代码语言:javascript
运行
复制
> db.inventory.find({"instock.0.qty": null})
{ "_id" : ObjectId("6194329212c7421dbaaeac81"), "item" : "journal", "instock" : [ { "warehouse" : "A", "qty" : null }, { "warehouse" : "C", "qty" : 15 } ] }
{ "_id" : ObjectId("6194329212c7421dbaaeac82"), "item" : "notebook", "instock" : [ { "warehouse" : "C", "qty" : 5 } ] }
{ "_id" : ObjectId("6194329212c7421dbaaeac83"), "item" : "paper", "instock" : [ { "warehouse" : "A", "qty" : 60 }, { "warehouse" : "B", "qty" : 15 } ] }
{ "_id" : ObjectId("6194329212c7421dbaaeac84"), "item" : "planner", "instock" : [ { "warehouse" : "A", "qty" : 40 }, { "warehouse" : "B", "qty" : 5 } ] }
{ "_id" : ObjectId("6194329212c7421dbaaeac85"), "item" : "postcard", "instock" : [ { "warehouse" : "B", "qty" : 15 }, { "warehouse" : "C", "qty" : 35 } ] }

编辑:我只期待一个结果,但它们都会回来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-17 02:24:06

在这个Jira罚单中报告了一个类似的问题:Incorrect filter result when using a null match inside an indexed array field

提出的建议是使用$type检查为空的值。

代码语言:javascript
运行
复制
db.collection.find({
  "instock.0.qty": {
    $type: "null"
  }
})

Sample Mongo Playground

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69996972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档