我能够使用以下代码成功插入新文档,但我无法获取新插入文档的_id。
插入后,user为null。谢谢!
MongoServer server = MongoServer.Create();
MongoDatabase test = server.GetDatabase("Test");
MongoCollection<BsonDocument> users = test.GetCollection("Users");
BsonDocument user = new BsonDocument();
user.Add("FirstName", "John");
user.Add("LastName", "Michael");
user.Add("Address", "123 Main Street");
user.Add("City", "Newport Beach");
user.Add("State", "CA");
user.Add("ZipCode", "92660");
user.Add("Email", "John.Michael@myemail.com");
user.Add("CreatedDate", DateTime.Now);
user.Add("IPAddress", "10.1.1.1");
user = users.Save(user);
string idSTring = user["_id"].ToString().Replace("\"", "");
答案 0 :(得分:7)
我使用官方驱动程序进行了一些测试,发现MongoCollection.Save方法返回null;因此,不要将结果分配给构造的用户:
//user = users.Save(user);
users.Save(user);
string idStr = user["_id"].ToString();
Console.WriteLine("_id == {0}", idStr);
答案 1 :(得分:3)
使用this C# driver,您的代码将如下所示:
var refMongo = new Mongo();
refMongo.Connect();
var test = refMongo.GetDatabase("Test");
var users = test.GetCollection("Users");
var user = new MongoDB.Document();
user.Add("FirstName", "John");
user.Add("LastName", "Michael");
user.Add("Address", "123 Main Street");
user.Add("City", "Newport Beach");
user.Add("State", "CA");
user.Add("ZipCode", "92660");
user.Add("Email", "John.Michael@myemail.com");
user.Add("CreatedDate", DateTime.Now);
user.Add("IPAddress", "10.1.1.1");
users.Save(user);
string idSTring = user["_id"].ToString();
Console.WriteLine(idSTring);
我得到了_id == 4cd9e240df53ca112c000001
祝你好运!;)