如何使用MongoDBRef添加BsonDocument

时间:2017-05-10 14:53:57

标签: c# mongodb dbref

我尝试在MongoDB数据库上添加带有C#的文档。我想用DBRef添加这些文档。 像这样:MongoCompass Screen

现在,我添加这样的文档:

        var client = new MongoClient("mongodb://10.194.157.199:27017");
        var database = client.GetDatabase("DB");
        var produit = database.GetCollection<BsonDocument>("Produit");
        DBAccess data = new DBAccess();
        data.Connect();
        DataTable Produit = data.GetProduit();

        foreach (DataRow row in Produit.Rows)
        {
            var document = new BsonDocument
                {
                    { "Name", Convert.ToString(row.ItemArray[0]) },
                    { "Constructor", Convert.ToString(row.ItemArray[1]) },
                    { "Familly", Convert.ToString(row.ItemArray[2]) },
                };
            produit.InsertOne(document);
        }

为了解释这个目标,它将信息与BI软件和MongoDB连接起来。

如果问题不明确,请问我。我会尝试用我最好的英语回答

谢谢。

1 个答案:

答案 0 :(得分:1)

好的伙计们,我改变了我的代码。我创建了表示我的不同集合的类。

public class MyClass
    {
        public MongoDBRef productID { get; set; }
        public string className{ get; set; }
        public int classNum { get; set; }
    }

我这样使用它:

static void Main(string[] args)

{
    var client = new MongoClient("mongodb://10.X.X.X:27017");
    var database = client.GetDatabase("MyDataBase");
    var myCollection = database.GetCollection<BsonDocument>("MyCollectionName");

    var document = new MyClass
    {
        ProductID = new MongoDBRef("Product", new ObjectId("k9ff635f18fg12c56hjf3fae")),
        className = "name",
        classNum = 21
    };
    myCollection.InsertOne(document.ToBsonDocument());
}