本文整理汇总了C#中MongoDB.Driver.MongoDBRef.ToBsonDocument方法的典型用法代码示例。如果您正苦于以下问题:C# MongoDBRef.ToBsonDocument方法的具体用法?C# MongoDBRef.ToBsonDocument怎么用?C# MongoDBRef.ToBsonDocument使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MongoDB.Driver.MongoDBRef
的用法示例。
在下文中一共展示了MongoDBRef.ToBsonDocument方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MappingAuthor
static async Task MappingAuthor()
{
var client = new MongoClient("mongodb://rpt:[email protected]:27017/forums");
var forums = client.GetDatabase("forums");
var users = forums.GetCollection<BsonDocument>("users");
var threads = forums.GetCollection<BsonDocument>("uwp_threads");
var updates = new List<WriteModel<BsonDocument>>();
await threads.Find(new BsonDocument())
.ForEachAsync(async (thread) => {
var filter = Builders<BsonDocument>.Filter.Eq("id", thread.GetElement("authorId").Value);
var author = await users.Find(filter).FirstOrDefaultAsync();
var dbref = new MongoDBRef("users", author.GetElement("_id").Value.AsObjectId);
updates.Add(new UpdateOneModel<BsonDocument>(new BsonDocument("_id", thread.GetElement("_id").Value), new BsonDocument("$set", new BsonDocument("author", dbref.ToBsonDocument()))));
});
await threads.BulkWriteAsync(updates);
}