gpt4 book ai didi

c# - MongoDB 推送到空数组

转载 作者:可可西里 更新时间:2023-11-01 09:59:09 27 4
gpt4 key购买 nike

所以今天我意识到我在更新/推送到数组时遇到了问题。我在一个类中有一个数组,它只是一个自动属性 ​​

public List<things> Things { get; set; }

这可以作为 null 放入数据库中,如果我以后需要编写类似

的查询
var query = Query.EQ("_id", something.Id);
var update = Update.Push("Things", thing.ToBsonDocument());

coll.Update(query, update);

我现在遇到了一个问题,因为我的更新会抛出一个异常,我试图将其推送到 NULL 数组。

我通过在类里面放置一个私有(private)支持者解决了这个问题

private List<things> _things = new List<things>();
public List<things> Things { get { return _things;} set { _things = value;} }

现在至少一个新实例会有一个空数组,需要有人明确说明

Things = null

但我想知道是否有更好的方法来解决这个问题。装饰器?蒙戈指数?有话要说,嘿,这个字段必须始终是一个数组。

我一直对自动属性持怀疑态度,更喜欢使用私有(private)支持者,尤其是对于非基元。只是想知道是否存在内置于 Mongo 引擎中的更强大的解决方案。

最佳答案

如果您更愿意使用自动属性,您可以简单地让构造函数创建空列表。

public YourClass() 
{
Things = new List<things>();
}

然后 auto 属性就可以简单地工作,唯一有任何丑陋的地方就是构造函数。

这就是我做的

关于c# - MongoDB 推送到空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25022764/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com