1

为了需要一个简单的演示器,我在 ExtJS 中创建了一个简单的网格面板,现在我试图用来自 MongoDB 的数据填充它。我听说过 Node.JS 和其他东西,但我只想使用 MongoDB 的 REST API 来检索数据。注意:我是 ExtJS 和 REST 请求的新手。

我的问题是,在加载我的页面时,没有创建面板并且萤火虫告诉我:“”NetworkError:400 Bad Request - http://xxx.xxx.xx.xx:28017/mydb/device/find?_dc=1374225874880&page =1&开始=0&限制=25 ""

如果我复制并粘贴 URL http://xxx.xxx.xx.xx:28017/mydb/device/find?_dc=1374225874880&page=1&start=0&limit=25 我可以看到数据,这意味着 Mongo 数据是可通过 URL 访问。请注意,我不知道 URL 的“page=1&start=0&limit=25”参数来自哪里,它不是由我实现的。

我应该加载数据的代码位于我的 MVC 的 Store 组件中:

Ext.define('AM.store.Users', {
extend: 'Ext.data.Store',
model: 'AM.model.User',
autoLoad: true,
proxy: {
    type: 'rest',
url: 'http://xxx.xxx.xx.xx:28017/mydb/device/find',

    reader: {
        type: 'json',
        root: 'rows',
    idProperty: '_id'

    }
}
});

这就是显示 Mongo URL 的内容:

{
"offset" : 0,
"rows": [
 { "_id" : "SheevaPlug", "manufacturer" : "GlobalScale" }
],

"total_rows" : 1 ,
"query" : {} ,
"millis" : 0
}

模型中的映射似乎也正确:

Ext.define('AM.model.User', {
extend: 'Ext.data.Model',
fields: ['_id', 'manufacturer']
});

如果您能帮助我,请提前致谢!干杯,

文森特

4

1 回答 1

0

使用 Node.js 创建您将使用 Sencha 调用的 MongoDB Web 服务。

于 2013-07-19T12:35:53.950 回答