gpt4 book ai didi

mongodb - Ember、Ember 数据和 MongoDB 的 _id

转载 作者:行者123 更新时间:2023-12-02 03:41:15 24 4
gpt4 key购买 nike

我已经看到有人讨论过这个问题,但我在处理 Mongo 的 _id 时仍然遇到问题。进入id 。我使用 mongoose 作为我的 ORM,虽然它有虚拟,但我似乎无法让它正常工作。以下是我的 Mongoose 模型中的内容。

尝试从后端修复

mongoose = require 'mongoose'
Schema = mongoose.Schema
ObjectId = Schema.ObjectId

ApartmentSchema = new Schema
body: String
date: { type: Date, default: Date.now }
deleted: {type: Boolean, default: false}
saved: {type: Boolean, default: false}
visited: {type: Boolean, default: false}
email: String
phoneNumber: String
href: String

ApartmentSchema.virtual('id').get -> return @_id

module.exports = mongoose.model 'Apartment', ApartmentSchema

当我在 Express 中创建此模型的新实例时,我可以进行类似 apt.id 的查找。并取回 id,但是当我将响应发送给客户端时,我只有 _id而不是id .

我尝试的第二个解决方案是为 id 创建一个计算属性但无论出于何种原因,ember 不喜欢这样。这里有两个问题。 Ember 不尊重名为 id 的计算属性或者至少不再是了。这就是我的 ember-data 模型的样子。

尝试从前端修复它

App.Apartment = DS.Model.extend({
body: DS.attr('string'),
date: DS.attr('date'),
deleted: DS.attr('boolean'),
saved: DS.attr('boolean'),
visited: DS.attr('boolean'),
email: DS.attr('string'),
phone: DS.attr('string'),
_id: DS.attr('string'),
id : function () {
return this.get('_id')
}.property('_id')
});

在下面的模板中,没有为 id 呈现任何内容。

{{#each apartment in controller}}
<li>{{apartment.body}} | {{apartment.date}} | {{apartment.href}} {{apartment.id}}</a> {{#linkTo 'apartment' apartment }} View {{/linkTo}} </li>
{{/each}}

linkTo助手可以工作,但 url 的 id 应该为 null。这会导致后退按钮损坏并多次加载数据。下面是我的路由器的一些上下文。

App.Router.map(function(){
this.resource('apartments', function (){
this.resource('apartment', { path: ':apartment_id' } );
});
});

更改我的计算名称 id属性类似于 foo然后将我的路由器更改为 path: ':apartment_foo'生成的 url 中包含对象引用,例如:#/apartments/<App.Apartment:ember357:null> .

像这样的东西让我对 ember 产生了兴趣。任何帮助,将不胜感激。

最佳答案

从 Ember 1.0.0-rc 1 和 Ember Data 修订版 11 开始,这似乎是解决此问题的最佳方法。

App.Adapter = DS.RESTAdapter.extend({
serializer: DS.RESTSerializer.extend({
primaryKey: function(type){
return '_id';
}
})
});

App.Store = DS.Store.extend({
revision: 11,
adapter: 'App.Adapter'
});

关于mongodb - Ember、Ember 数据和 MongoDB 的 _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com