C# 在使用mongo csharp进行插入后,如何获取插入文档的_id?
我能够使用以下代码成功插入新文档,但无法获取新插入文档的_id 插入后,用户为空。谢谢大家!C# 在使用mongo csharp进行插入后,如何获取插入文档的_id?,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,我能够使用以下代码成功插入新文档,但无法获取新插入文档的_id 插入后,用户为空。谢谢大家! MongoServer server = MongoServer.Create(); MongoDatabase test = server.GetDatabase("Test"); MongoCollection<BsonDocument> users = test.GetCollection("Users"); BsonDocument user = new BsonDocument(
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("\"", "");
MongoServer服务器=MongoServer.Create();
MongoDatabase test=server.GetDatabase(“test”);
MongoCollection用户=test.GetCollection(“用户”);
BsonDocument user=新的BsonDocument();
添加(“名字”、“约翰”);
添加(“姓氏”、“迈克尔”);
用户。添加(“地址”,“123大街”);
用户。添加(“城市”、“新港海滩”);
添加(“州”、“CA”);
添加(“ZipCode”,“92660”);
添加(“电子邮件”,“约翰”。Michael@myemail.com");
添加(“CreatedDate”,DateTime.Now);
添加(“IP地址”、“10.1.1.1”);
用户=用户。保存(用户);
string idSTring=user[“\u id”].ToString().Replace(“\”,”);
使用,您的代码如下:
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
祝你好运!;)我对官方驱动程序进行了一些测试,发现MongoCollection.Save方法返回null;因此不要将结果分配给构建的用户:
//user = users.Save(user);
users.Save(user);
string idStr = user["_id"].ToString();
Console.WriteLine("_id == {0}", idStr);
关于驱动程序检查和谢谢。这会起作用,但我真的想找到一种使用官方驱动程序而不是samus的驱动程序来实现这一点的方法。:)这与官方驱动程序和BSondocument一起工作。ObjectId的创建是在客户机上完成的,而不是在服务器上完成的,所以这应该是完全可能的。对c#驱动程序了解不够,因此不过我还是帮了你,对不起:(我昨晚在代码上又弄乱了一些东西,实际上也得出了相同的结论。谢谢!