Я пытаюсь десериализовать фильтр с LUUID (или NUUID в этом примере) в BsonDocument:
var tmpQry = "{'ValueId': NUUID('ca7ac84f-18bf-42f0-b028-333ed144c549')";
var tmpBson = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(tmpQry);
и получаю ошибку:
System.FormatException: 'JSON reader was expecting a value but found 'NUUID'.'
Я понимаю, что LUUID недопустимо для JSON, но возможно ли каким-то образом получить BsonDocument из моей строки?
В моем конкретном случае я не могу реализовать вложенный запрос MongoDB $ elemMatch, как в эта проблема . Но мой запрос содержит идентификаторы:
db.getCollection('my_db').aggregate([
{
$match: {
'Event.key_attributes': {
$all: [
{ '$elemMatch': { 'Type.Code': 'code1', 'ValueId': LUUID('00000000-0000-0000-0000-000000000001') } },
{ '$elemMatch': { 'Type.Code': 'code2', 'ValueId': LUUID("00000000-0000-0000-0000-000000000002") } },
{ '$elemMatch': { 'Type.Code': 'code3', 'ValueId': LUUID("00000000-0000-0000-0000-000000000003") } }
]
}
}
},
{
$group: {
'_id': '$$CURRENT.Event.type._id',
'code': { '$last': '$$CURRENT.Event.type.Code' },
'value': { '$sum': '$$CURRENT.Event.value' }
}
}
]);
, и я даже не могу десериализовать его в BsonDocument. У моей проблемы есть какое-нибудь решение? Большое спасибо.