【问题标题】:mongodb belongsTo Foreign key is nullmongodb belongsTo 外键为空
【发布时间】:2014-08-31 15:53:01
【问题描述】:

所以这个问题感觉很像我的上一个问题。 Strongloop 让我觉得自己像个菜鸟。哈哈。

我从一些 LB 示例中偷了这个:

var Order = mongoDev.createModel('order', {
    customerId: Number,
    orderDesc: String
});

var Customer = mongoDev.createModel('customer', {
    id: {type: Number, id: true},
    name: String,
    emails: [String],
    age: Number},
  {strcit: true});

//Order.belongsTo(Customer);
Order.belongsTo(Customer, {as: 'customer', foreignKey: 'customerId'});
Customer.hasMany(Order, {as: 'orders', foreignKey: 'customerId'});

在资源管理器中,我看到了客户和订单端点。客户也有/customers/{id}/orders 的端点,订单有/orders/{id}/customer 等。到目前为止一切都很好。

我添加了这个客户:

GET .../api/customers/53c599594e23e50000a41acf
{
  "id": "53c599594e23e50000a41acf",
  "name": "John1",
  "emails": [
    "john@x.com",
    "jhon@y.com"
  ],
  "age": 30
}

当我发布订单时,我得到一个空的 customerId:

POST .../api/customers/53c599594e23e50000a41acf/orders
    data: {"orderDesc": "whatever"}

result:
{
  "customerId": null,
  "orderDesc": "whatever",
  "id": "53c59d1efd31a4000062e7d8"
}

有什么想法我在这里做错了吗?

【问题讨论】:

标签: strongloop loopbackjs


【解决方案1】:

好的,解决了这个问题。我从中窃取的示例将 ID 键入为数字。将它们更改为字符串为我解决了这个问题。

var Order = mongoDev.createModel('order', {
    customerId: String,
    orderDesc: String
});

var Customer = mongoDev.createModel('customer', {
    id: {type: String, id: true},
    name: String,
    emails: [String],
    age: Number},
  {strcit: true});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 2015-08-26
    • 2022-07-29
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多