灰烬和mongoose:“断言失败:找不到'__v'的模型

我有一个基本的Ember应用程序来创build和编辑博客文章,我使用的是Ember,Ember-Data和Mongoose。 我找不到为什么,但每当我提交一个post的编辑,它在Chrome控制台中logging以下错误:

Assertion failed: No model was found for '__v' 

对于那些不熟悉Mongoose的人,它会自动将__v添加到您的文档中进行版本控制。 我试图通过normalizeHash去除它,而且Ember Inspector显示它不在浏览器中的数据中,但是错误仍然出现:

 App.ApplicationSerializer = DS.RESTSerializer.extend({ primaryKey: "_id", normalizeHash: { posts: function(hash) { console.log("That's a hash"); delete hash.__v; return hash; } } }); 

我也试图欺骗,只是将__v添加到我的模型,在那里处理,但我仍然得到相同的错误:

 App.Post = DS.Model.extend({ title: DS.attr(), post_content: DS.attr(), tags: DS.attr(), creationDate: DS.attr(), author: DS.attr(), complete: DS.attr(), __v: DS.attr() }); 

数据仍然保存到服务器,所以服务器没有问题发生了什么事情。 这本来只是一个恼人的错误消息,似乎没有任何消极后果,但是当我试图添加一个didUpdate监听器留在页面上,直到我得到成功事件,它不会执行callback。

 post.one('didUpdate', this, function() { // redirects to post itself this.transitionToRoute('post', post); }); 

任何想法如何正确处理__v ? 如果我不能屈服于它,我只是告诉mongoose停止创build它们,但我宁愿保留文档中的版本。