如果我有以下课程(C#)
{
byte[] somedata;
}
在MongoDB中,它是以二进制形式存储还是以Base64存储?
答案 0 :(得分:1)
我有一个(Java)类,其中包含以下字段:
private String interactionInstanceId;
private String interactionId;
private String messageId;
private byte content[];
byte content[]
字段在集合中另存为{ "$binary": "<bindata>", "$type": "00"}
。
我认为C#没什么不同
<bindata>
是“二进制字符串的base64表示形式”,据此:BSON Data Types and Associated Representations - Binary
我希望这对您有帮助
答案 1 :(得分:0)
与@ArielGro的回答相反,AFAICT MongoDB以二进制形式存储二进制数据。尽管the MongoDB doc提到了Base64字符串,但我认为这仅仅是关于数据的逻辑结构(以JSON文档的形式描述)。基于BSON spec和MongoDB在BSON中存储数据这一事实,我相信MongoDB以二进制形式存储二进制数据。
这并不是说大量二进制数据应直接存储在MongoDB文档中。但是对于少量数据,我认为这是合理的。