4

我能够使用以下代码成功插入新文档,但无法获取新插入文档的 _id。

插入后,用户为空。谢谢!

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("\"", "");
4

2 回答 2

8

我用官方驱动做了一些测试,发现MongoCollection.Save方法返回null;所以不要将结果分配给您构造的用户:

//user = users.Save(user);
users.Save(user);

string idStr = user["_id"].ToString();

Console.WriteLine("_id == {0}", idStr);

关于司机检查这个这个

于 2010-11-11T11:20:28.777 回答
3

使用此 C# 驱动程序,您的代码将如下所示:

        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

祝你好运!;)

于 2010-11-10T00:06:23.460 回答