MongoDB Mongoid 里面设为 Key 的不能随便改阿

paranoyang · January 01, 2012 · Last by jojojo replied at February 04, 2012 · 2788 hits

在写一个用 Mongoid 的论坛程序,把帖子的 title 设成了 Post 的 key,如果允许用户修改标题的话,会各种悲剧阿,对象的 id 还是原来旧的 title 不会变,帖子的 url 也不会变,但是像是 Edit 页面修改完之后redirect_to @post的时候就会导向到这个新 title 生成的 url,由于 id 其实没有更改,所以自然找不到该 post,直接提示:

Mongoid::Errors::DocumentNotFound in PostsController#show

mongoid 这个 key 直接对应到 url 是很爽,不过用之前还是要三思阿。。。

这不是 Mongoid 的问题。在 MongoDB 中 key 是不能修改的,要改只能删掉旧 doc,插入一条一样的(除了 id)。

全部删除,重来不行么?

You need to Sign in before reply, if you don't have an account, please Sign up first.