首页 > 解决方案 > 将“null”的所有实例替换为 null

问题描述

将数据导入 mongo 后,本应为 null 类型的字段最终成为字符串“null”,是否有命令或查询将该字符串的所有实例替换为 null 值?

我有这样的东西

TestModel.updateMany({ test: 'null' },{ $set: { test: null } })

但它会抛出这个错误

CastError: Cast to ObjectId failed for value "null" at path "test" for model "TestModel"

我在它们都是字符串的其他字段中尝试过它并且它可以工作,但是字段“test”可以是 Objectid 或 null

编辑:

文档:

const TestSchema = new Schema({
    test: { type: Schema.Types.ObjectId}
});
module.exports = db.model('TestModel', TestSchema);

标签: mongodbmongodb-querynode-mongodb-nativemongodb-compass

解决方案


使用此代码:

TestModel.updateMany({ test: 'null' }, { $set: { test: undefiend } })

推荐阅读