Initialize currency serialization
Use your currency list
var actualCurrencies = new CurrencySet(new[] {
Iso4217.CurrencySet.CNY,
Iso4217.CurrencySet.RUB,
Iso4217.CurrencySet.BRL,
Iso4217.CurrencySet.EGP,
Iso4217.CurrencySet.IRR,
Iso4217.CurrencySet.AED,
Iso4217.CurrencySet.ETB,
Iso4217.CurrencySet.ZAR
});
BsonCurrencySerializer.Register(actualCurrencies);
or all currencies of ISO 4217
BsonCurrencySerializer.Register(NMoney.Iso4217.CurrencySet.Instance);
Initialize Money serialization
Use default serialization
BsonMoneySerializer.Register();
for BSON document
{
"amount" : { "$numberDecimal" : "4.0" },
"currency" : "RUB"
}
Or use custom serialization
BsonMoneySerializer.Register(
currencyFieldName: "cur",
amountFieldName: "val",
amountRepresentation: BsonType.Double);