如何在 mongoDB 中保存此 JSON?
How can I save this JSON in mongoDB?
我需要保存此 JSON:{edbff2886c8ca7aa1bd02b092aa03930.zip=T001.zip}
。它来自 Map<String,String>
。为什么不可能?
com.mongodb.WriteConcernException: { "serverUsed" : "127.0.0.1:27017" , "ok" : 1 , "n" : 0 , "updatedExisting" : false , "err" : "The dotted field 'edbff2886c8ca7aa1bd02b092aa03930.zip' in 'filenameMap.edbff2886c8ca7aa1bd02b092aa03930.zip' is not valid for storage." , "code" : 57}
查询
public Validacao update(String id, Validacao validacao) {
mongoCollection.update("{_id : #}", id)
.with("{$set: #}", validacao);
return validacao;
}
这个:
{edbff2886c8ca7aa1bd02b092aa03930.zip=T001.zip}
开头无效 JSON。您需要在字段名称和值两边加上引号。
然而,即使这样还不够。来自 MongoDB documentation:
Field names cannot contain dots (i.e. .) or null characters, and they must not start with a dollar sign (i.e. $). See Dollar Sign Operator Escaping for an alternate approach.
现在,根据您的字段名称可能包含的 other 个字符,您可能会在存储之前用其他内容替换所有点 - 或者您可能需要某种转义机制。
我需要保存此 JSON:{edbff2886c8ca7aa1bd02b092aa03930.zip=T001.zip}
。它来自 Map<String,String>
。为什么不可能?
com.mongodb.WriteConcernException: { "serverUsed" : "127.0.0.1:27017" , "ok" : 1 , "n" : 0 , "updatedExisting" : false , "err" : "The dotted field 'edbff2886c8ca7aa1bd02b092aa03930.zip' in 'filenameMap.edbff2886c8ca7aa1bd02b092aa03930.zip' is not valid for storage." , "code" : 57}
查询
public Validacao update(String id, Validacao validacao) {
mongoCollection.update("{_id : #}", id)
.with("{$set: #}", validacao);
return validacao;
}
这个:
{edbff2886c8ca7aa1bd02b092aa03930.zip=T001.zip}
开头无效 JSON。您需要在字段名称和值两边加上引号。
然而,即使这样还不够。来自 MongoDB documentation:
Field names cannot contain dots (i.e. .) or null characters, and they must not start with a dollar sign (i.e. $). See Dollar Sign Operator Escaping for an alternate approach.
现在,根据您的字段名称可能包含的 other 个字符,您可能会在存储之前用其他内容替换所有点 - 或者您可能需要某种转义机制。