mongodb - Mongodb:如何列出字段的类型?
问题描述
我在集合中有一个字段 - 在 99.9% 的文档中它是一个数组 - 在 00.01% 中是一个子文档
我可以 - LIST 记录此字段和报告此字段类型的列吗?- 和/或 - 按此字段的类型过滤文档?
解决方案
是的,您可以使用$type
操作员:
过滤:
db.someCollection.find({ "fieldThatMightBeAnArray": {$type: 4} })
有关类型(和字符串别名)的列表,请参阅查询运算符的文档页面$type
。
列出列中的类型:
您应该能够在聚合查询中使用$type
聚合运算符。
db.someCollection.aggregate([{
$project: {
"fieldThatMightBeAnArray": 1,
"typeOfFieldThatMightBeAnArray" : { $type: "$fieldThatMightBeAnArray" }
}
}])
(我自己没有测试最后一个)
推荐阅读
- python - 使用 Python3 如何将具有一组范围的列的 df 拆分为具有多个子范围的 df?
- python-3.x - 为什么 Fiona 在导入 Geopandas 时给我一个错误?
- npm - Azure DevOps 管道中的 npm 版本
- scrapy - scrapy 为什么在调用提取时将 jsessionid 附加到 url?
- c# - 从 valuechanged 退订不起作用
- node.js - 通过 nextPageToken 在 google drive API 中检索下一页的正确语法是什么
- html - 如何根据屏幕大小拆分布局?(HTML/CSS)
- c# - 如何添加多个热键?像 f1 f2 f3
- android - 从 Play 商店安装时获取 java.lang.NullPointerException,但在本地工作正常
- android - 如何在 Kotlin 中使用 Single Live Event 显示 toast