我试图在C#中的两个BsonDocument
之间添加引用,但不幸的是,我不知道并且找不到任何解释如何操作的文档。
这是我的代码:
var parent = new BsonDocument( new BsonElement("name","parentTest"));
parent.Add("newField", "test");
var child1 = new BsonDocument( new BsonElement("name","childTest1"));
var child2 = new BsonDocument( new BsonElement("name","childTest2"));
我想在父BsonDocument
和两个子文档(child1和child2)之间创建一个引用(一对多)。
我曾尝试使用MongoDbRef,但没有成功。
谢谢
答案 0 :(得分:0)
在阅读了大量关于csharp提供者的文档后,我决定阅读php文档并按照以下步骤操作:
我不知道官方的cshap提供商有什么能为我执行此操作,但我无法找到任何解释如何执行此操作的文档。所以我自己解决了这个问题。如果有人知道不同或更简单的方法,请在此处分享您的知识。谢谢大家!
由于我的努力,我已经创建了一种扩展方法,使其更容易。下面的代码是这样的类:
public static class MyMongoDbExtension
{
public static BsonDocument GetDBRef(this BsonDocument document, string collectionName)
{
var id = document.GetValue("_id");
var result = new BsonDocument();
result.Add(new BsonElement("$ref", collectionName));
result.Add(new BsonElement("$id", id));
return result;
}
}