本文整理汇总了C#中BsonDocument.SetElement方法的典型用法代码示例。如果您正苦于以下问题:C# BsonDocument.SetElement方法的具体用法?C# BsonDocument.SetElement怎么用?C# BsonDocument.SetElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BsonDocument
的用法示例。
在下文中一共展示了BsonDocument.SetElement方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessDifferencesInDocument
private static BsonDocument ProcessDifferencesInDocument(this BsonDocument a, BsonDocument b)
{
var bson = new BsonDocument();
foreach (var e in a.Where(e => !b.Contains(e.Name)))
{
bson.SetElement(new BsonElement("+a:" + e.Name, e.Value));
}
foreach (var e in b.Where(e => !a.Contains(e.Name)))
{
bson.SetElement(new BsonElement("+b:" + e.Name, e.Value));
}
return bson;
}
示例2: Diff
public static BsonDocument Diff(this BsonDocument a, BsonDocument b)
{
if (!a.HasSameElementNamesAs(b))
{
var bson = new BsonDocument();
foreach (var e in a.Where(e => !b.Contains(e.Name)))
{
bson.SetElement(new BsonElement("+a:" + e.Name, e.Value));
}
foreach (var e in b.Where(e => !a.Contains(e.Name)))
{
bson.SetElement(new BsonElement("+b:" + e.Name, e.Value));
}
return bson;
}
else
{
var bson = new BsonDocument();
foreach (var e in a)
{
var d = Diff(e.Value, b[e.Name]);
if (d.ElementCount > 0)
bson.Add(e.Name, d);
}
return bson;
}
}
示例3: TestSetElementReplaceElement
public void TestSetElementReplaceElement()
{
var document = new BsonDocument("x", 1);
var element = new BsonElement("x", 2);
document.SetElement(element);
Assert.AreEqual(1, document.ElementCount);
Assert.AreEqual("x", document.GetElement(0).Name);
Assert.AreEqual(2, document["x"].AsInt32);
}
示例4: TestSetElementByIndex
public void TestSetElementByIndex()
{
var document = new BsonDocument("x", 1);
var element = new BsonElement("y", 2);
document.SetElement(0, element);
Assert.Equal(1, document.ElementCount);
Assert.Equal("y", document.GetElement(0).Name);
Assert.Equal(2, document["y"].AsInt32);
}