我的MongoDB文档中的某些字段包含敏感数据,当我使用这些数据进行测试时,我需要对它们进行消毒。
数据以前存储在MySQL中,我使用类似于REPEAT('x', LENGTH(fieldName))的方法实现了这一点。
我希望保持消毒后的字段的长度与它们相同,并理想地保留空白。
有人能在MongoDB中提出这样做的好方法吗?
更新
敏感数据就像为员工提供的绩效评估反馈一样,所以当测试人员使用该应用程序时,他们不能看到这些数据。我希望保留字符串和空格的长度,以便文本的布局类似于它在生产中的位置。
我想知道是否可以使用一些简单的MongoDB操作符来完成这个任务,但是还没有找到我要找的东西。
应用程序是用Java编写的,我正在使用Spring数据。在MySQL的情况下,在Java中用'x‘替换字符串中的字符,然后更新行是缓慢的,这就是为什么我使用repeat的原因,尽管我失去了字符串中的空格。
发布于 2013-11-05 14:04:59
您可以在MongoDB shell中这样做:
db.myColl.find().forEach(function(doc){
doc.myField = Array(doc.myField.length+1).join("X");
db.myColl.save(doc);
});https://stackoverflow.com/questions/19790563
复制相似问题