mongodb - 如何从所有集合中删除一个字段?
问题描述
你可以从 mongodb 的所有集合中删除一个字段吗?我解释一下,假设我有 3 个数据库,分别称为 db1、db2 和 db3。以及其中包含字段和数据的随机文档。是否有任何命令可以从所有数据库中删除某些字段,或者您可以从所有文档中删除一个字段?
解决方案
假设您想field1
从所有文档中删除您必须遍历db1
,db2
以及它们各自的集合,然后用于$unset
删除该字段
var dbList = ["db1", "db2"]
var mongo = new Mongo()
dbList.forEach(function(dbName){
var db = mongo.getDB(dbName)
print("Removing from db: "+dbName)
db.getCollectionNames().forEach(function(collName){
print("\tRemoving from collection: "+collName)
db.getCollection(collName).updateMany({}, {$unset:{"field1":""}})
})
})
推荐阅读
- hyperledger-fabric - 将 MySQL 与 Hyperledger-Fabric-CA Server 一起使用时,如何解决“创建证书表时出错:错误 1067:'expiry' 的默认值无效”?
- r - R:计算列中文本数据的长度
- mysql - MySQL 函数(宏?)可用于所有数据库?
- python - 使用 else 语句的语法无效
- c# - 如何使用 C# 控制台监视 Windows 系统并将该信息记录到文件中
- automation - 随处自动化 - as400 现场退出键
- compiler-errors - Rust 编译错误:进程没有成功退出
- php - 通过哈希令牌查找用户
- linux - 2.6.39 之前的 Linux 内核中的 O_PATH 等效项?
- bash - Bash 脚本:newgrp 后无法读取输入