UpdatewithAddToSetwithoutMongoDBC#UpdateNullValues使用MongoDB,当数组为null时,我无法在数组中添加en个元素。如果我从控制台添加项目,AddToSet会按预期工作。我正在使用10gen的官方C#驱动程序。varquery=Query.EQ("_id",objectId);varitemDoc=item.ToBsonDocument();//items是一个数组,但当前为空varupdate=MongoDB.Driver.Builders.Update.AddToSet("items",itemDoc);//YUNoWork?//somefield不存在varworkingUpdate=MongoDB.Driver.Builders.Update.AddToSet("somefield",itemDoc);//工作正常varcollection=DataBase.GetCollection(CollectionName);collection.Update(查询、更新);//不起作用collection.Update(query,workingUpdate);//有效这是预期的行为吗?如果是这样,是否有更通用的方法将项目添加到数组?根据其他一些评论进行了一些挖掘-就像你说的那样,如果元素不存在它会起作用,但如果它是空的-它不会。显然这是设计使然。一个建议是向数组添加BsonIgnoreIfNull属性,这意味着您的AddToSet将起作用。以上就是C#学习教程:使用AddToSet更新,不用MongoDBC#更新空值。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
