2017-05-10 2 views
1

J'essaie d'ajouter un document avec C# sur ma base de données MongoDB. Je veux ajouter ces documents avec un DBRef en Comme ceci:. MongoCompass ScreenComment ajouter un BsonDocument avec un MongoDBRef dans

Maintenant, j'ajouter des documents comme celui-ci:

 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); 
     } 

Pour expliquer le but de cela, il est de connecter l'information avec un logiciel BI et MongoDB.

Si quelque chose n'est pas clair, demandez-moi. Je vais essayer de répondre avec mon meilleur anglais

Merci.

Répondre

1

OK les gars, j'ai changé mon code. J'ai créé des classes pour représenter mes différentes collections.

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

et je l'utilise comme ceci:

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()); 
}