为了需要一个简单的演示器,我在ExtJS中创建了一个简单的网格面板,现在我正在尝试使用来自MongoDB的数据填充它。我听说过Node.JS和东西,但我只想使用MongoDB的REST API来检索数据。 注意:我是ExtJS和REST请求的新手。
我的问题是,在加载我的页面时,没有创建面板,firebug告诉我: “”NetworkError:400错误请求 - http://xxx.xxx.xx.xx:28017/mydb/device/find?_dc=1374225874880&page=1&start=0&limit=25“”
如果我复制并粘贴网址http://xxx.xxx.xx.xx:28017/mydb/device/find?_dc=1374225874880&page=1&start=0&limit=25,我可以看到数据,这意味着可以通过URL访问Mongo数据。 请注意,我不知道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网址的内容:
{
"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']
});
如果你能帮助我,请提前致谢! 欢呼声,
文森特
答案 0 :(得分:0)
使用Node.js创建将使用Sencha调用的MongoDB Web服务。