如何使用MongodbRef在Mongodb中引用文档以及如何获取组合文档

如何使用MongodbRef在Mongodb中引用文档以及如何获取组合文档,mongodb,mongodb-.net-driver,mongodb-query,mongo-collection,mongo-c-driver,Mongodb,Mongodb .net Driver,Mongodb Query,Mongo Collection,Mongo C Driver,嗨,我是Mongo db的新手,我有这样的类结构来存储笑脸和笑脸类别。我在smilies类中创建了一个mongodef属性,用于引用smilies类别集合,但允许获取smilies类别名称 public class smilies { public ObjectId _id { get; set; } public MongoDBRef scat_name{ get; set; } public string smil_url { get; set; } publ

嗨,我是Mongo db的新手,我有这样的类结构来存储笑脸和笑脸类别。我在smilies类中创建了一个mongodef属性,用于引用smilies类别集合,但允许获取smilies类别名称

public class smilies {
    public ObjectId _id { get; set; }
    public MongoDBRef scat_name{ get; set; }
    public string smil_url { get; set; }
    public string smil_detail { get; set; }
}

public  class smilies_category {
    public ObjectId _id { get; set; }
    public string scat_name { get; set; }
}
我使用下面的代码来获取记录,记录来自一个文档

function void getSmilies(){
  var refDocument = new BsonDocument { 
            {"$ref", "smil_scat_id"}, 
            {"$id", "539ef7c2e46b621314956e3b"}
        };

        var query = Query.EQ("smilies_category", refDocument);
        var result = db.GetCollection("smilies").Find(query)

}
现在我想要的是合并结果集

 "_id" : ObjectId("539f3ec1e46b62120023d364"),
 "scat_name : "Bussines",
 "smil_url" : "www.gmail.com",
 "smil_detail" : "Ok fine",
我们如何才能做到这一点? 我走对了吗?
请告诉我解决方案

您的课程类型应为

public class smilies {
    public ObjectId _id { get; set; }
    public MongoDBRef scat_name{ get; set; }
    public string smil_url { get; set; }
    public string smil_detail { get; set; }
    public string[] CategoryName {get; set:}
}
MongoDB文档将被删除

{
_id:"".
smil_url :"",
...
...

CategoryName:[
            "cat1",
            "Cat2",
            ....
          ]
}

然后在C驱动程序中将您的查询更改为相当于$in运算符的值?MongoDB不进行连接。