MongoDB C#-插入列表时更新时间戳

MongoDB C#-插入列表时更新时间戳,mongodb,Mongodb,让我们假设: class A { DateTime MyTime; } class B { List<A> MyData; } 我想知道我是否可以执行update语句来让服务器设置其时间,而不是使用客户端的时间 一些澄清: 我将添加如下对象: A MyAObject = new A(); A.MyTime = DateTime.UtcNow; [...] Builders<B>.Update.AddToSet(_ => _.MyData, My

让我们假设:

class A
{
    DateTime MyTime;
}

class B
{
    List<A> MyData;
}
我想知道我是否可以执行update语句来让服务器设置其时间,而不是使用客户端的时间


一些澄清:

我将添加如下对象:

A MyAObject = new A();
A.MyTime = DateTime.UtcNow;
[...] Builders<B>.Update.AddToSet(_ => _.MyData, MyAObject);
A MyAObject=newa();
A.MyTime=DateTime.UtcNow;
[…]Builders.Update.AddToSet(=>u.MyData,MyAObject);

但是我希望在服务器上设置要执行的时间以反映服务器时间,因此服务器需要修改对象,然后将其插入到对象B的MyData列表中。

不太清楚您在这里要问什么。有一个更新修饰符,但它的用途是用于特定的字段路径,而不是添加到“集合”。此外,它的主要功能是用于“多”更新,在这些更新中,将使用实际修改时间,而不是为所有匹配的文档提供“固定”时间戳。所以这里不太清楚的是“为什么您认为在数组中需要这个?”以及“给定类定义,这样的条目真的是唯一的吗?”第二点是“集合”对于它的组件是唯一的。因此,如果您有一个带有“properties”的类,那么这些属性中的任何变化都是“惟一的”,因此是一个新的“set”成员。也许您实际上指的是“日期数组”,而不是“具有日期属性的对象数组”。Mongo的C#驱动程序中的AddToSet本质上是一个List.add();所以我想要的是更改我提交的对象中的一个字段,将服务器时间放入其中,然后将修改后的对象添加到mongo记录的列表中。让我更新问题以澄清
A MyAObject = new A();
A.MyTime = DateTime.UtcNow;
[...] Builders<B>.Update.AddToSet(_ => _.MyData, MyAObject);