MongoClient
dans mon application console c # pour me connecter à MongoDBhttps://github.com/mongodb/mongo-csharp-driver/releases/tag/v2.0.0-rc
Mon code
class Program
{
static void Main(string[] args)
{
const string connectionString = "mongodb://localhost:27017";
// Create a MongoClient object by using the connection string
var client = new MongoClient(connectionString);
//Use the MongoClient to access the server
var database = client.GetDatabase("test");
var collection = database.GetCollection<Entity>("entities");
var entity = new Entity { Name = "Tom" };
collection.InsertOneAsync(entity);
var id = entity._id;
}
}
public class Entity
{
public ObjectId _id { get; set; }
public string Name { get; set; }
}
Après avoir exécuté avec succès le code ci-dessus, je ne trouve pas cet enregistrement dans la base de données MongoDB à l'aide de cette commande:
db.entities.find().pretty()
Qu'est ce qui ne va pas avec mon code?
C'est la méthode que j'ai créée pour insérer des données dans MongoDB, qui fonctionne bien maintenant.
static async void DoSomethingAsync()
{
const string connectionString = "mongodb://localhost:27017";
// Create a MongoClient object by using the connection string
var client = new MongoClient(connectionString);
//Use the MongoClient to access the server
var database = client.GetDatabase("test");
//get mongodb collection
var collection = database.GetCollection<Entity>("entities");
await collection.InsertOneAsync(new Entity { Name = "Jack" });
}
La raison en est que vous devez attendre que le magasin crée le document. Dans ce cas, collection.InsertOneAsync (entité); la sortie d'exécution avant de créer le document.
Soit Console.ReadKey () ou collection.InsertOneAsync (entiry) .Wait () ou toute autre forme d'arrêt de la sortie pendant une fraction de seconde fera l'affaire.
pour .net 4.5 et versions supérieures et mongodriver 2x, suivez le code ci-dessous
var Client = new MongoClient();
var MongoDB = Client.GetDatabase("shop");
var Collec = MongoDB.GetCollection<BsonDocument>("computers");
var documnt = new BsonDocument
{
{"Brand","Dell"},
{"Price","400"},
{"Ram","8GB"},
{"HardDisk","1TB"},
{"Screen","16inch"}
};
Collec.InsertOneAsync(documnt);
Console.ReadLine();