2016-08-07 3 views
0

Guten Tag alle,MongoDB + C# - get Funktionen der Datenbank

Die Fragen ist: Wie kann ich auf Funktionen Definitionen aus dem MongoDB Datenbankobjekt?

 const string connectionString = "mongodb://localhost"; 

     // Create a MongoClient object by using the connection string 
     var client = new MongoClient(connectionString); 

     //Use the MongoClient to access the server 
     MongoServer server = client.GetServer(); 

     // Use the server to access the 'local' database 
     var database = server.GetDatabase("local"); 

     //What next? 
     //................................................. 
+1

Was meinen Sie mit den Definitionen der Funktion? Wie in Funktionen, die Sie in MongoDb haben? Oder wie das Hilfe-Log von der Konsole? –

+0

Danke für die Antwort. Ich meine benutzerdefinierte benutzerdefinierte Funktionen. – user306080

Antwort

1

Wenn Sie sie bedeuten erhalten, wie in den Wert des Funktionscodes erhalten selbst, werden sie in der für eine Datenbank system.js Sammlung gespeichert. Holen Sie sie alle als mit jeder anderen Sammlung:

db.system.js.find({}); 

In C#:

var database = server.GetDatabase("databaseName"); 

var collection = database.GetCollection<BsonDocument>("system.js"); 
var filter = new BsonDocument(); 
var count = 0; 
using (var cursor = await collection.FindAsync(filter)) 
{ 
    while (await cursor.MoveNextAsync()) 
    { 
     var batch = cursor.Current; 
     foreach (var document in batch) 
     { 
      // process document 
      count++; 
     } 
    } 
} 

Wenn Sie sie innerhalb Code bedeuten nennen, wenn system.js ein enthält Objekt { _id: "two", value: "function(x, y) { return x + y; }" }, können Sie die Funktion, indem Sie wie folgt aufrufen in der Schleife:

database.Eval(document.getValue("value")).ToString();