下午好,
我需要从单个MongoDB中的许多集合中删除过去几个月结束的所有旧文档。以前我手动更新每个集合:
db.df_FI.deleteMany({ "key" : /2019-05-01_2019-05-30_Reported/})
db.df_Final_FI.deleteMany({ "key" : /2019-05-01_2019-05-30_Reported/})
db.df_Manual_Booked_FI.deleteMany({ "key" : /2019-05-01_2019-05 30_Reported/})
db.df_Manual_Booked_Final_FI.deleteMany({ "key" : /2019-05-01_2019-05-30_Reported/})
我想详细说明一下。我尝试了正则表达式和let,但无济于事。更新一个集合示例
db.df_FI.deleteMany(
{
key : "$regex" : key_sub_string
}
)
db.df_FI.remove(
{ $expr: { $in: [ "$key", "$$key_sub_string" ] } },
{ let : { key_sub_string: "2021-08-01_2021-08-11_Reported" } }
)
更新失败。
彼得
你肯定可以制作字符串但是,试着这样做
modelName.deleteMany({ yourColumnNameInModel: { $gte: key_sub_string } }).then(function(){
// Success
}).catch(function(error){
// Not Success });
,为什么要在变量的末尾添加报告?