如果我有以下类 (C#(
{
byte[] somedata;
}
在MongoDB中,它是以二进制形式存储,还是以Base64形式存储?
与@ArielGro的回答相反,AFAICT MongoDB以二进制形式存储二进制数据。虽然MongoDB文档提到了Base64字符串,但我认为这仅仅是关于数据的逻辑结构(以JSON文档的形式描述(。基于BSON规范和MongoDB在BSON中存储数据的事实,我相信MongoDB以二进制形式存储二进制数据。
这并不是说大量的二进制数据应该直接存储在MongoDB文档中。但对于少量数据,我认为这是合理的。
我有一个(Java(类,其中包含以下字段:
private String interactionInstanceId;
private String interactionId;
private String messageId;
private byte content[];
byte content[]
字段将另存为集合中的{ "$binary": "<bindata>", "$type": "00"}
。 我假设 C# 没有什么不同
<bindata>
是"二进制字符串的base64表示",根据以下内容:BSON数据类型和相关表示 - 二进制
我希望这有帮助