c# - mongoexport/projection:仅导出不等于 null 的字段
问题描述
我在 mongo 中有这样的 JSON 文档:
{
"A": null,
"B": {
"B1": "B1Data",
"B2": "B2Data"
},
},
{
"A": {
"A1": "A1Data",
"A2": "A2Data"
},
"B": null,
}
我想要一个可读且可比较的 JSON 导出,它省略了这样的顶级空字段:
{
"B": {
"B1": "B1Data",
"B2": "B2Data"
},
},
{
"A": {
"A1": "A1Data",
"A2": "A2Data"
}
}
现在我正在使用mongoexport
. 但--query
option 仅限制要导出的文档,而--fields
option 仅包含字段。我需要一个--fields
带有条件的选项$ne:null
。
我看到的唯一解决方法是创建一个副本(或视图),其中包含使用 with 的非空字段的所有文档到另一个集合并导出该集合。我试图创建这样一个,但我认为在文档中隐藏单个字段是不可能的。如果我错了并且有可能我会很感激帮助,因为这两种解决方法都不起作用。find
projection
find
projection
背景信息:我在这样的文档中有大约 40 个字段(并且还在增长),这些字段可能是not-existent、null或object。原因是 POCO 在 C# 中的定义增长了。早期存储的文档缺少字段,后来存储的文档没有。如果稍后修改了早期文档,则会将缺失的字段添加为 null。我正在使用 JSON 导出将我的数据保存在 git 或 SVN 等版本控制系统中,以便能够跟踪数据修改。由于C# POCO 中不存在的字段和值为null的字段是相同的,因此我更喜欢在 mongoexport 结果中排除它们,以便更好地了解真实数据和更改。
谢谢
解决方案
推荐阅读
- html - 溢出后下拉菜单出错:隐藏放置
- angular - Angular 6中的孩子与父母的沟通
- javascript - 在 JQuery 中将代码应用于其父 div 的内部元素单击问题
- python - Python 更改参考
- sql-server - “INFORMATION_SCHEMA.TABLES”的脚本
- php - 保存来自标签输入的数据
- jquery - 如何在rails中为新创建的东西(在ajax调用之后)放置分页
- ms-word - Microsoft Office 加载项 javascript:按 matchPrefix:true 搜索 - 如何获取匹配前缀的完整单词
- html - 无法在打印预览中水平对齐图像
- javascript - Geoserver WMS 调用未返回底图