ã¢ã¸ã¥ã¼ã«: Mongo::Collection::QueryableEncryption Private
- 次ã®ããã¥ã¡ã³ãã«å«ã¾ãã¾ãã
- Mongo::Collection
- å®ç¾©:
- lib/mongo/ ã³ã¬ã¯ã·ã§ã³/queryable_encryption.rb
Overview
ãã®ã¢ã¸ã¥ã¼ã«ã¯ãã©ã¤ãã¼ã API ã®ä¸é¨ã§ãã ãã®ã¢ã¸ã¥ã¼ã«ã¯å°æ¥åé¤ã¾ãã¯å¤æ´ãããå¯è½æ§ããããããå¯è½ãªéã使ç¨ããªãã§ãã ããã
ãã®ã¢ã¸ã¥ã¼ã«ã«ã¯ã Queryable Encryptionã®äºåã³ã¬ã¯ã·ã§ã³ã使ããã³åé¤ããããã®ã¡ã½ãããå«ã¾ãã¦ãã¾ãã
宿°ã®æ¦è¦ã®åæ¸
- QE 2 _MIN_WIRE_VERSION =
ãã®å®æ°ã¯ããã©ã¤ãã¼ã API ã®ä¸é¨ã§ãã ãã®å®æ°ã¯å°æ¥åé¤ã¾ãã¯å¤æ´ãããå¯è½æ§ããããããå¯è½ãªéã使ç¨ããªãã§ãã ããã
QE 2ããµãã¼ãããããã®æå°ã®ã¯ã¤ã¤ãã¼ã¸ã§ã³
21
ã¤ã³ã¹ã¿ã³ã¹ ã¡ã½ããã®æ¦è¦ãæãããã
-
# may_create_qe_collections ï¼encrypted_fieldsãã¯ã©ã¤ã¢ã³ããã»ãã·ã§ã³ï¼ = çµæ
private
å¿ è¦ã«å¿ãã¦ãQueryable Encryption ã®ããã®äºåã³ã¬ã¯ã·ã§ã³ã¨ã¤ã³ããã¯ã¹ã使ãã¾ãã
-
#Many_drop_em_collections ï¼encrypted_fieldsãã¯ã©ã¤ã¢ã³ããã»ãã·ã§ã³ï¼ = çµæ
private
å¿ è¦ã«å¿ãã¦ã Queryable Encryptionã®äºåã³ã¬ã¯ã·ã§ã³ã¨ã¤ã³ããã¯ã¹ãåé¤ãã¾ãã
ã¤ã³ã¹ã¿ã³ã¹ ã¡ã½ããã®è©³ç´°
# may_create_qe_collections ï¼encrypted_fieldsãã¯ã©ã¤ã¢ã³ããã»ãã·ã§ã³ï¼ =çµæ
ãã®ã¡ã½ããã¯ããã©ã¤ãã¼ã API ã®ä¸é¨ã§ãã ãã®ã¡ã½ããã¯å°æ¥åé¤ã¾ãã¯å¤æ´ãããå¯è½æ§ããããããå¯è½ãªéã使ç¨ããªãã§ãã ããã
å¿ è¦ã«å¿ãã¦ãQueryable Encryption ã®ããã®äºåã³ã¬ã¯ã·ã§ã³ã¨ã¤ã³ããã¯ã¹ã使ãã¾ãã
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# ãã¡ã¤ã« 'lib/mongo/ ã³ã¬ã¯ã·ã§ã³/queryable_encryption.rb' è¡ 35 ããã©ã«ã Max_create_qe_collections(encryption_fields, ã¯ã©ã¤ã¢ã³ã, ã»ãã·ã§ã³) encryption_fields = encryption_fields_from(encryption_fields) return ãã¼ãã®æ° å ´å encryption_fields.空ã®å ´å ãµã¼ãã¼ = next_primary(nil, ã»ãã·ã§ã³) context = æä½::Context.æ°çæ å ±(ã¯ã©ã¤ã¢ã³ã: ã¯ã©ã¤ã¢ã³ã, ã»ãã·ã§ã³: ã»ãã·ã§ã³) ãµã¼ãã¼.with_ connection è¡ã |æ¥ç¶| checkpoint_wire_version(æ¥ç¶) gem_collections(encryption_fields).å è¡ã |coll| create_operation_for(coll) .execution_with_ connection(æ¥ç¶, context: context) end end ãã¼ãã®æ°(encryption_fields).ã¿ãã è¡ã |çµæ| indexes.create_one(MongoDB_ENUS_JAJP 1) å ´å çµæ end end |
#Many_drop_em_collections ï¼encrypted_fieldsãã¯ã©ã¤ã¢ã³ããã»ãã·ã§ã³ï¼ =çµæ
ãã®ã¡ã½ããã¯ããã©ã¤ãã¼ã API ã®ä¸é¨ã§ãã ãã®ã¡ã½ããã¯å°æ¥åé¤ã¾ãã¯å¤æ´ãããå¯è½æ§ããããããå¯è½ãªéã使ç¨ããªãã§ãã ããã
å¿ è¦ã«å¿ãã¦ã Queryable Encryptionã®äºåã³ã¬ã¯ã·ã§ã³ã¨ã¤ã³ããã¯ã¹ãåé¤ãã¾ãã
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# ãã¡ã¤ã« 'lib/mongo/ ã³ã¬ã¯ã·ã§ã³/queryable_encryption.rb' è¡ 62 ããã©ã«ã Max_drop_em_collections(encryption_fields, ã¯ã©ã¤ã¢ã³ã, ã»ãã·ã§ã³) encryption_fields = å ´å encryption_fields encryption_fields elsif encryption_fields_map encrypted_fields_for_drop_from_map else {} end return ãã¼ãã®æ° å ´å encryption_fields.空ã®å ´å gem_collections(encryption_fields).å è¡ã |coll| context = æä½::Context.æ°çæ å ±(ã¯ã©ã¤ã¢ã³ã: ã¯ã©ã¤ã¢ã³ã, ã»ãã·ã§ã³: ã»ãã·ã§ã³) æä½ = æä½::drop.æ°çæ å ±( ã»ã¬ã¯ã¿ã¼: { drop: coll }, db_name: database.name, ã»ãã·ã§ã³: ã»ãã·ã§ã³ ) do_drop(æä½, ã»ãã·ã§ã³, context) end ãã¼ãã®æ° end |