0

我正在使用 MongoDB,我正在尝试保存,但它只是不返回??

这是我的控制器:

public ActionResult doSomething(FormCollection collection)
        {
           if (collection == null || collection.Count == 0)
                return View(Tenant);

           var acct = new Account();

           var whitelist = new String[]{"Name"};
           TryUpdateModel(acct, whitelist, collection.ToValueProvider());

           Tenant.Name = acct.Name;

           Tenant.Save();              


           return View(Tenant);
        }

这是保存方法:

public override void Save(){
    var acct = Application.Session.GetCollection<Account>();
     acct.Save(this);
 }

当它到达 acct.Save() 行时,它永远不会返回。任何线索为什么会发生这种情况?

4

2 回答 2

1

除非您使用安全模式,否则这不会返回(嗯,返回 null),请参阅:

http://api.mongodb.org/csharp/1.4/html/2cdf9e5b-d850-994f-c6ba-54ded02c7589.htm

这通常是 MongoDB 的工作方式,即默认情况下使用“即发即弃”的方法进行写入/更新。如果你想让你的应用程序阻塞或等待结果,那么安全模式或写关注方法就在那里,所以你可以这样做。

于 2012-04-06T09:59:36.890 回答
1

问题是我试图使用 DateTime 将数据存储为 MongoObject 但 MongoDB 只有以下数据类型:

Integer(32 位有符号值) Long(64 位有符号值) Double(64 位 IEEE754 fp 值) String

http://code.google.com/p/morphia/wiki/PropertyAnnotation

于 2012-06-14T16:20:31.033 回答