如何清理MongoDB中的敏感字段?
我的MongoDB文档中的一些字段包含敏感数据,当我使用这些数据进行测试时,我需要对它们进行清理 数据以前存储在MySQL中,我使用类似于如何清理MongoDB中的敏感字段?,mongodb,Mongodb,我的MongoDB文档中的一些字段包含敏感数据,当我使用这些数据进行测试时,我需要对它们进行清理 数据以前存储在MySQL中,我使用类似于REPEAT('x',LENGTH(fieldName))的方法来实现这一点 我希望保持经过消毒的字段的长度不变,并理想地保留空白 有人能在MongoDB中提出一个好方法吗 更新 敏感数据类似于为员工提供的绩效评估反馈,因此当测试人员使用应用程序时,他们不能看到这些数据。我希望保留字符串和空白的长度,以便文本的布局与生产中的布局相似 我想知道是否有可能使用一些
REPEAT('x',LENGTH(fieldName))
的方法来实现这一点
我希望保持经过消毒的字段的长度不变,并理想地保留空白
有人能在MongoDB中提出一个好方法吗
更新
敏感数据类似于为员工提供的绩效评估反馈,因此当测试人员使用应用程序时,他们不能看到这些数据。我希望保留字符串和空白的长度,以便文本的布局与生产中的布局相似
我想知道是否有可能使用一些简单的MongoDB操作符来实现这一点,但是我一直没有找到我想要的
应用程序是用Java编写的,我使用的是Spring数据。如果MySQL在Java中用字符串中的“x”替换字符,然后更新行的速度很慢,这就是为什么即使我丢失了字符串中的空白,我仍然使用repeat的原因。您可以在MongoDB shell中执行此操作:
db.myColl.find().forEach(function(doc){
doc.myField = Array(doc.myField.length+1).join("X");
db.myColl.save(doc);
});
您可以从MongoDB shell执行此操作:
db.myColl.find().forEach(function(doc){
doc.myField = Array(doc.myField.length+1).join("X");
db.myColl.save(doc);
});
写一个循环,通过集合进行迭代,然后为每个文档修复每个字段。写一个循环,通过集合进行迭代,然后为每个文档修复每个字段。我必须添加一个检查,以查看每个文档是否存在该字段,但这行得通。你的问题不是很具体,所以我提供了一般性答案。我没有抱怨,只是提一下以备将来参考。谢谢。我必须添加一个检查,以查看每个文档是否存在该字段,但这起到了作用。您的问题不是很具体,所以我提供了一般性的答案。我没有抱怨,只是提到它以供将来参考。谢谢