Несмотря на то, что официальная поддержка подачи изменений API MongoDB отсутствует, если вам удастся получить документ в триггере (что, очевидно, вы можете сделать), просто сопоставьте пару значений ключа $t
- $v
с объект, а затем получить значение.
Я бы начал с создания класса CosmosMongoValue
, который десериализует пару ключ-значение для каждого свойства.
public class CosmosMongoValue<T>
{
[JsonProperty("$v")]
public T Value { get; set; }
public static implicit operator T(CosmosMongoValue<T> item)
{
return item?.Value;
}
}
и тогда ваш класс Info будет выглядеть примерно так:
public class Info
{
[JsonProperty("id")]
public CosmosMongoValue<string> Id;
[JsonProperty("time")]
public CosmosMongoValue<double> Time;
[JsonProperty("num")]
public CosmosMongoValue<int> Num;
}
Затем просто используйте JsonConvert.DeserializeObject<CosmosMongoValue<Info>>
для разбора вашего строкового документа на объект.
Вы можете либо сделать .Value
, чтобы получить значение пары, либо просто использовать тип значения, чтобы автоматически получить значение из неявного оператора, который я добавил в класс CosmosMongoValue
.
Результат:
![enter image description here](https://i.stack.imgur.com/iMjW5.png)