【问题标题】:How can I delete all fields from document except a some list? (mongoDB)如何从文档中删除除某些列表之外的所有字段? (蒙古数据库)
【发布时间】:2016-11-29 01:51:49
【问题描述】:

祝大家有美好的一天。我想从文档中删除除某些列表之外的所有字段。我知道 $unset 运算符,但我不知道如何在我的任务中使用它。先感谢您。

【问题讨论】:

  • 这里有一个关于列出集合中所有唯一键的答案:stackoverflow.com/questions/2298870/… 那么您可以删除所有不想从该列表中删除的键。然后循环遍历并取消设置每个文档中不需要的键。
  • 我认为 mongo 有一些运算符(如 $unset),它通过一个请求删除此字段而无需循环。但我认为这会对我有所帮助。谢谢=)

标签: mongodb


【解决方案1】:
db.products.update(
   { sku: "unknown" },
   { $unset: { quantity: "", instock: "" } }
)

上述查询将删除所有sku未知的产品文档中的数量和库存字段。

您可以在上面示例的行中编写查询,但是,如果 你只是想从每个文档中删除几个字段就忽略 条件部分,即 sku :"unknown" 而是通过 {} 它将 影响您收藏中的每个文档。

【讨论】:

  • 谢谢,但我想删除除某些列表之外的所有字段。我只有我想保留的字段列表,以及我想删除的所有其他字段。
  • 所以你的意思是相反。好的,我会尝试找出对您有帮助的查询。
猜你喜欢
  • 2018-02-01
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多