{"id":6711,"date":"2015-02-18T12:51:58","date_gmt":"2015-02-18T17:51:58","guid":{"rendered":"http:\/\/www.iri.com\/blog\/?p=6711"},"modified":"2022-01-12T11:14:28","modified_gmt":"2022-01-12T16:14:28","slug":"masking-data-in-mongodb","status":"publish","type":"post","link":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/","title":{"rendered":"PII Masking in MongoDB &#038; Other NoSQL DBs via Export\/Mask\/Import (1st Method)"},"content":{"rendered":"<p><em>Editors Note: This example demonstrates our\u00a0<strong>earliest, least direct<\/strong> (though still available)\u00a0method of using IRI FieldShield to protect data found within MongoDB tables. As you will read, the MongoDB Export Utility in this case extracts data and create a <span style=\"text-decoration: underline;\">CSV file<\/span> that FieldShield masks externally, prior to loading the newly secured data back into MongoDB. You can use this same approach for data in other NoSQL databases like Cassandra and ElasticSearch.<\/em><\/p>\n<p><em>IRI also offers more direct methods to move data between MongoDB collections and IRI <a href=\"https:\/\/www.iri.com\/solutions\/data-masking\">data masking<\/a> engines like FieldShield or Voracity. A how-to-article on direct data masking of structured MongoDB data <span style=\"text-decoration: underline;\">through ODBC<\/span> from<strong> 2016 is\u00a0<a href=\"http:\/\/www.iri.com\/blog\/data-protection\/direct-data-masking-for-mongodb\/\" target=\"_blank\" rel=\"noopener\">here<\/a><\/strong><\/em><em>, and through MongoDB&#8217;s <span style=\"text-decoration: underline;\">native driver<\/span> supported in CoSort v10\u00a0(powering FieldShield and Voracity) in<strong> 2018 is <a href=\"http:\/\/www.iri.com\/blog\/data-protection\/native-mongodb-masking-voracity\/\">here<\/a>.<\/strong>\u00a0\u00a0<\/em><em>The latest (fourth method) method &#8212; which can find and mask PII in both\u00a0<span style=\"text-decoration: underline;\">structured and unstructured<\/span>\u00a0MongoDB collections using\u00a0<a href=\"https:\/\/www.iri.com\/products\/darkshield\">IRI DarkShield<\/a><\/em>\u00a0<em>&#8212; in the GUI since\u00a0<strong>2019<\/strong><strong> is<\/strong> <a href=\"https:\/\/www.iri.com\/blog\/data-protection\/mongodb-cassandra-darkshield\/\">here<\/a>,\u00a0and in the API since <strong>2021<\/strong> is <a href=\"https:\/\/github.com\/TeamIRI\/darkshield-api-demos\/tree\/master\/mongo\">here<\/a>.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p class=\"western\" lang=\"zxx\">MongoDB is a powerful NoSQL database that can store large amounts of data in packets called collections (similar to tables in relational databases). Though it\u00a0scales horizontally\u00a0(add power to the database by adding machines), MongoDB has\u00a0no internal way to mask data once it has been entered, other than manually updating each record.<\/p>\n<p class=\"western\" lang=\"zxx\">The\u00a0example\u00a0below\u00a0protects\u00a0MongoDB values\u00a0externally. I explain how to export a\u00a0collection to a CSV file, use\u00a0<a href=\"http:\/\/www.iri.com\/products\/fieldshield\" target=\"_blank\" rel=\"noopener\">IRI\u00a0FieldShield<\/a> to mask a\u00a0field in that\u00a0file, and import\u00a0that file\u00a0back into Mongo so the collection is protected appropriately. Note that you can mask any number of fields 14 different <a href=\"http:\/\/www.iri.com\/products\/fieldshield\/technical-details\" target=\"_blank\" rel=\"noopener\">ways<\/a> using FieldShield.<\/p>\n<p class=\"western\" lang=\"zxx\">It is also possible to automatically discover and mask data in multiple structured, semi-structured, unstructured sources on the bases of centrally defined data classes, which other articles in this blog (like <a href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/data-classification-in-iri-workbench\/\">this one<\/a>) detail. This example only shows the masking aspects however, based on exported eollections.<\/p>\n<p class=\"western\" lang=\"zxx\"><strong><span style=\"text-decoration: underline;\">Data Before Masking<\/span><\/strong><\/p>\n<p class=\"western\" lang=\"zxx\">Here are the records in the source table, shown with <a href=\"http:\/\/mongovue.software.informer.com\/\" target=\"_blank\" rel=\"noopener\">MongoVUE<\/a>.<\/p>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6712 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png\" alt=\"MongoDB_FieldShield_MongoDataBefore\" width=\"550\" height=\"500\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\"><span style=\"text-decoration: underline;\"><b><br \/>\nExporting the Table\u00a0Data<\/b><\/span><\/p>\n<p class=\"western\" lang=\"zxx\">Use the MongoDB Export utility (mongoexport)\u00a0to run the command:<\/p>\n<pre class=\"western\">--db &lt;Database Name&gt; --collection &lt;Collection Name&gt; --csv --fields &lt;field1,field2,...&gt; --out &lt;Output Path&gt;<\/pre>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/Export.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6713 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/Export-e1424365486709.png\" alt=\"MongoDB_FieldShield_Export\" width=\"600\" height=\"301\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\"><span style=\"text-decoration: underline;\"><b><br \/>\nUsing the FieldShield GUI to Create the Data Masking Job<\/b><\/span><\/p>\n<ul>\n<li class=\"western\">Open\u00a0the <a href=\"http:\/\/www.iri.com\/products\/workbench\" target=\"_blank\" rel=\"noopener\">IRI Workbench<\/a> and start the Create New Protection (Masking) Job wizard for\u00a0FieldShield.<\/li>\n<li class=\"western\">Choose whatever name you would like to give the job, and click next.<\/li>\n<li class=\"western\">On the Data Sources screen click <strong>Add Data Source<\/strong> and locate the CSV file you created.<\/li>\n<li class=\"western\">Click <strong>Edit Source Options<\/strong> and, under Options, change the Format type to CSV and click OK.<\/li>\n<li class=\"western\">Click <strong>Discover Metadata<\/strong> and follow through the wizard. It should detect the seperator as &#8216;,&#8217; and be able to generate the field data. It will most likely pick ASCII for the data type.\u00a0To change this, click the field data type you wish to change and then select the data type you wish to use. Once you are happy with your data types, click <strong>Finish<\/strong>.<\/li>\n<\/ul>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/MetadataWizard.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6714\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/MetadataWizard.png\" alt=\"MongoDB_FieldShield_MetadataWizard\" width=\"656\" height=\"515\" \/><\/a><\/p>\n<ul>\n<li class=\"western\">Click\u00a0<strong>Next<\/strong> to get\u00a0to the Data Targets screen, and click on <strong>Add Data Target<\/strong>. Then name a\u00a0CSV file you want to create,\u00a0and click <strong>OK<\/strong><em>.<\/em><\/li>\n<li class=\"western\">Click <strong>Target Field Layout<\/strong> to bring up the screen where you will apply the mask:<\/li>\n<\/ul>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/iriFieldShield-CCNmasking2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6966 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/iriFieldShield-CCNmasking2.jpg\" alt=\"iriFieldShield-CCNmasking2\" width=\"804\" height=\"626\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/03\/iriFieldShield-CCNmasking2.jpg 804w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/03\/iriFieldShield-CCNmasking2-300x234.jpg 300w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/a><\/p>\n<ul>\n<li class=\"western\">The\u00a0bottom table will show you all the fields that will be in your target file. Select\u00a0the field name\u00a0you want to mask, click\u00a0the Field Protection\u00a0menu arrow, and choose the desired masking function from the drop-down box.<\/li>\n<li class=\"western\">Complete the dialog&#8217;s parameters, click <strong>OK<\/strong> (twice) and <strong>Finish<\/strong><em>\u00a0<\/em>to complete the job wizard.<\/li>\n<li class=\"western\">Your FieldShield job\u00a0should then be generated for you:<\/li>\n<\/ul>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/Script4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-6727 size-large\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/Script4-1024x627.png\" alt=\"\" width=\"1024\" height=\"627\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\">Review, and if necessary, modify and re-save your data masking job. Run it from the GUI, the command line, or from within an application to generate the file you will upload back\u00a0into MongoDB.<\/p>\n<p class=\"western\" lang=\"zxx\"><span style=\"text-decoration: underline;\"><b><br \/>\nImporting the Masked Table<\/b><\/span><\/p>\n<p class=\"western\" lang=\"zxx\">Use the MongoDB Import utility (mongoimport) to run the commands:<\/p>\n<pre class=\"western\">--db &lt;Database Name&gt; --collection &lt;Collection Name&gt; --type csv --fields &lt;field1,field2,...&gt; --upsert --upsertFields &lt;Field to match to old database*&gt; --file &lt;File Path of the file to import (The file created by the Mask Script)&gt;<\/pre>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/Import1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6716 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/Import1-e1424365429657.png\" alt=\"MongoDB_FieldShield_Import\" width=\"600\" height=\"303\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\"><em>*To import everything back into the old collection, you must tell it which of the fields you are inputting to query against the existing records. An example would be email; it would match all of the importing records against\u00a0their existing email, and update the record.<\/em><\/p>\n<p class=\"western\" lang=\"zxx\"><strong><span style=\"text-decoration: underline;\"><br \/>\nData After Masking<\/span><\/strong><\/p>\n<p class=\"western\" lang=\"zxx\">Below\u00a0are the records in the target\u00a0table; shown with <a href=\"http:\/\/mongovue.software.informer.com\/\" target=\"_blank\" rel=\"noopener\">MongoVUE<\/a>. Note that only the credit card numbers were redacted in the FieldShield process; other fields could have been protected with similar or different <a href=\"http:\/\/www.iri.com\/products\/fieldshield\/technical-details\" target=\"_blank\" rel=\"noopener\">functions<\/a> at the same time.<\/p>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataAfter.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6717\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataAfter.png\" alt=\"MongoDB_FieldShield_mongoDataAfter\" width=\"550\" height=\"470\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataAfter.png 726w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataAfter-300x256.png 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\">In addition to the relatively easy definition and execution of <a href=\"http:\/\/www.iri.com\/products\/fieldshield\" target=\"_blank\" rel=\"noopener\">FieldShield<\/a> jobs, there are other advantages to using it with Mongo, including:<\/p>\n<ul>\n<li class=\"western\">speed in volume &#8212; both IRI and Mongo&#8217;s performance architectures are designed to <a href=\"http:\/\/www.iri.com\/solutions\/big-data\/big-data-protection\" target=\"_blank\" rel=\"noopener\">scale<\/a> linearly<\/li>\n<li class=\"western\">cross-platform compatibility\u00a0&#8212; choose from <a href=\"http:\/\/www.iri.com\/products\/workbench\/data-sources\" target=\"_blank\" rel=\"noopener\">these<\/a>\u00a0supported sources<\/li>\n<li class=\"western\">simultaneous data integration, migration, replication, federation, and reporting capabilities in the <a href=\"http:\/\/www.iri.com\/img\/iri-integration_3500x4500.jpg\" target=\"_blank\" rel=\"noopener\">same<\/a>\u00a0CoSort\u00a0(SortCL program,\u00a0FieldShield&#8217;s parent) job script and I\/O pass<\/li>\n<\/ul>\n<p>Contact <a href=\"mailto:fieldshield@iri.com\" target=\"_blank\" rel=\"noopener\">fieldshield@iri.com<\/a>\u00a0if you have any questions about this process or comment below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Editors Note: This example demonstrates our\u00a0earliest, least direct (though still available)\u00a0method of using IRI FieldShield to protect data found within MongoDB tables. As you will read, the MongoDB Export Utility in this case extracts data and create a CSV file that FieldShield masks externally, prior to loading the newly secured data back into MongoDB. You<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/\" title=\"PII Masking in MongoDB &#038; Other NoSQL DBs via Export\/Mask\/Import (1st Method)\">Read More<\/a><\/div>\n","protected":false},"author":61,"featured_media":6712,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[108,8,3],"tags":[512,14,13,516,545,539,542,520,538,543,533,1273,540,536,544,327],"class_list":["post-6711","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-big-data-2","category-data-protection","category-vldb-operations","tag-csv-file","tag-data-masking","tag-data-protection-2","tag-export","tag-federation","tag-import","tag-integration","tag-iri-fieldshield","tag-mask-values","tag-migration","tag-mongodb","tag-mongodb-data-masking","tag-mongovue","tag-nosql-database","tag-replication","tag-reporting"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PII Masking in MongoDB &amp; Other NoSQL DBs via Export\/Mask\/Import (1st Method) - IRI<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PII Masking in MongoDB &amp; Other NoSQL DBs via Export\/Mask\/Import (1st Method) - IRI\" \/>\n<meta property=\"og:description\" content=\"Editors Note: This example demonstrates our\u00a0earliest, least direct (though still available)\u00a0method of using IRI FieldShield to protect data found within MongoDB tables. As you will read, the MongoDB Export Utility in this case extracts data and create a CSV file that FieldShield masks externally, prior to loading the newly secured data back into MongoDB. YouRead More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2015-02-18T17:51:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-12T16:14:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png\" \/>\n\t<meta property=\"og:image:width\" content=\"550\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nathan Dymora\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nathan Dymora\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/\"},\"author\":{\"name\":\"Nathan Dymora\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/6c3bde00b144e9786b3d024c1e45defa\"},\"headline\":\"PII Masking in MongoDB &#038; Other NoSQL DBs via Export\/Mask\/Import (1st Method)\",\"datePublished\":\"2015-02-18T17:51:58+00:00\",\"dateModified\":\"2022-01-12T16:14:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/\"},\"wordCount\":818,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png\",\"keywords\":[\"csv file\",\"data masking\",\"data protection\",\"export\",\"federation\",\"import\",\"integration\",\"IRI FieldShield\",\"mask values\",\"migration\",\"MongoDB\",\"MongoDB data masking\",\"MongoVUE\",\"NoSQL database\",\"replication\",\"reporting\"],\"articleSection\":[\"Big Data\",\"Data Masking\/Protection\",\"VLDB\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/\",\"url\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/\",\"name\":\"PII Masking in MongoDB & Other NoSQL DBs via Export\/Mask\/Import (1st Method) - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png\",\"datePublished\":\"2015-02-18T17:51:58+00:00\",\"dateModified\":\"2022-01-12T16:14:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#primaryimage\",\"url\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png\",\"contentUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png\",\"width\":550,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/beta.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PII Masking in MongoDB &#038; Other NoSQL DBs via Export\/Mask\/Import (1st Method)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#website\",\"url\":\"https:\/\/beta.iri.com\/blog\/\",\"name\":\"IRI\",\"description\":\"Total Data Management Blog\",\"publisher\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/beta.iri.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\",\"name\":\"IRI\",\"url\":\"https:\/\/beta.iri.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"contentUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"width\":750,\"height\":206,\"caption\":\"IRI\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/6c3bde00b144e9786b3d024c1e45defa\",\"name\":\"Nathan Dymora\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fe3589b371c7912ed817bd9e5e443745?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fe3589b371c7912ed817bd9e5e443745?s=96&d=blank&r=g\",\"caption\":\"Nathan Dymora\"},\"url\":\"https:\/\/beta.iri.com\/blog\/author\/nathand\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PII Masking in MongoDB & Other NoSQL DBs via Export\/Mask\/Import (1st Method) - IRI","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/","og_locale":"en_US","og_type":"article","og_title":"PII Masking in MongoDB & Other NoSQL DBs via Export\/Mask\/Import (1st Method) - IRI","og_description":"Editors Note: This example demonstrates our\u00a0earliest, least direct (though still available)\u00a0method of using IRI FieldShield to protect data found within MongoDB tables. As you will read, the MongoDB Export Utility in this case extracts data and create a CSV file that FieldShield masks externally, prior to loading the newly secured data back into MongoDB. YouRead More","og_url":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/","og_site_name":"IRI","article_published_time":"2015-02-18T17:51:58+00:00","article_modified_time":"2022-01-12T16:14:28+00:00","og_image":[{"width":550,"height":500,"url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png","type":"image\/png"}],"author":"Nathan Dymora","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nathan Dymora","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#article","isPartOf":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/"},"author":{"name":"Nathan Dymora","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/6c3bde00b144e9786b3d024c1e45defa"},"headline":"PII Masking in MongoDB &#038; Other NoSQL DBs via Export\/Mask\/Import (1st Method)","datePublished":"2015-02-18T17:51:58+00:00","dateModified":"2022-01-12T16:14:28+00:00","mainEntityOfPage":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/"},"wordCount":818,"commentCount":1,"publisher":{"@id":"https:\/\/beta.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png","keywords":["csv file","data masking","data protection","export","federation","import","integration","IRI FieldShield","mask values","migration","MongoDB","MongoDB data masking","MongoVUE","NoSQL database","replication","reporting"],"articleSection":["Big Data","Data Masking\/Protection","VLDB"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/","url":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/","name":"PII Masking in MongoDB & Other NoSQL DBs via Export\/Mask\/Import (1st Method) - IRI","isPartOf":{"@id":"https:\/\/beta.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#primaryimage"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png","datePublished":"2015-02-18T17:51:58+00:00","dateModified":"2022-01-12T16:14:28+00:00","breadcrumb":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#primaryimage","url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png","contentUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png","width":550,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/masking-data-in-mongodb\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/beta.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PII Masking in MongoDB &#038; Other NoSQL DBs via Export\/Mask\/Import (1st Method)"}]},{"@type":"WebSite","@id":"https:\/\/beta.iri.com\/blog\/#website","url":"https:\/\/beta.iri.com\/blog\/","name":"IRI","description":"Total Data Management Blog","publisher":{"@id":"https:\/\/beta.iri.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/beta.iri.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/beta.iri.com\/blog\/#organization","name":"IRI","url":"https:\/\/beta.iri.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","contentUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","width":750,"height":206,"caption":"IRI"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/6c3bde00b144e9786b3d024c1e45defa","name":"Nathan Dymora","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fe3589b371c7912ed817bd9e5e443745?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe3589b371c7912ed817bd9e5e443745?s=96&d=blank&r=g","caption":"Nathan Dymora"},"url":"https:\/\/beta.iri.com\/blog\/author\/nathand\/"}]}},"jetpack_featured_media_url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2015\/02\/DataBefore-e1424365497582.png","_links":{"self":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/6711"}],"collection":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/users\/61"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=6711"}],"version-history":[{"count":43,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/6711\/revisions"}],"predecessor-version":[{"id":17357,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/6711\/revisions\/17357"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/media\/6712"}],"wp:attachment":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=6711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=6711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=6711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}