如何在 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 个字符,您可能会在存储之前用其他内容替换所有点 - 或者您可能需要某种转义机制。