sunitparekh / data-anonymization

Want to use production data for testing, data-anonymization can help you.
MIT License
459 stars 92 forks source link

MongoDB question : is it possible to anonymise a field in a sub-document #65

Open sylguyot opened 6 years ago

sylguyot commented 6 years ago

sample of my json document: { "_id" : ObjectId("5ac34319dc0ef65f31755b60"), ..., identity : { "givenName" : [ "Nicolas" ], "sn" : [ "GUYOT" ], ... } }

I have tried to anonymise identity.givenName with the code:

anonymize('identity.givenName').using FieldStrategy::AnonymizeArray.new(FieldStrategy::RandomFirstName.new)

no errors are thrown but it doesn't change the field value ...

sunitparekh commented 6 years ago

example subdocument anonymization: in case subdocument is array use: https://github.com/sunitparekh/data-anonymization/blob/master/examples/mongodb_whitelist_dsl.rb#L34

in case of subdocument as hash use: https://github.com/sunitparekh/data-anonymization/blob/master/examples/mongodb_whitelist_dsl.rb#L38

sample JSON document for above is: https://github.com/sunitparekh/data-anonymization/blob/master/sample-data/mongo/plans.json

let me know this solves your problem.