Я пытаюсь вернуть результаты запроса monogdb в веб-приложение. Простейший начальный один был просто вернуть всю коллекцию, как вы увидите его в консоли MongoDB из WebService вызова в рамках проекта, который имеет доступ к базе данных:коллекция mongodb через webservice C#
> db.usercollection.find()
{ "_id" : ObjectId("52d2f2b3c60804b25bc5d2ca"), "username" : "testuser1", "email
" : "[email protected]" }
{ "_id" : ObjectId("52d2f2f9c60804b25bc5d2cb"), "username" : "testuser2", "email
" : "[email protected]" }
{ "_id" : ObjectId("52d2f2f9c60804b25bc5d2cc"), "username" : "testuser3", "email
" : "[email protected]" }
>
Я хотел бы получить в результате JSON в ExtJS сетка. Я пытаюсь способами, чтобы увидеть, если он работает, но первый вопрос на самом деле, как вернуть предыдущий результат:
<WebMethod()> _
<ScriptMethod(UseHttpGet:=True, ResponseFormat:=ResponseFormat.Json)> _
Public Function getDBData() As String
Dim response As String = String.Empty
mongo.Connect()
Dim db = mongo.GetDatabase("nodetest1")
Using mongo.RequestStart(db)
Dim collection = db.GetCollection(Of BsonDocument)("usercollection").FindAll()
response = collection.Collection.ToString
Return response
End Using
я не вижу результат я хочу здесь:
var newStore = Ext.create('Ext.data.JsonStore', {
model: 'User',
proxy: {
type: 'ajax',
url: 'http://localhost:52856/WCFService/WebService1.asmx/getDBData',
reader: {
type: 'json',
root: 'd',
idProperty: '_id',
successProperty: 'success'
},
success: function (response, options) {
var s = response.responseText;
Ext.MessageBox.alert(s, 'LA LA LA');
newStore.loadData(s);
},
failure: function (response, options) {
Ext.MessageBox.alert('FAILED AGAIN', 'SUCKS');
}
}
});
Я попытался добавить корень следующим образом:
response = "{""d"":" + response + "}"
Return response
Вторая альтернатива для вызова службы от Node.js напрямую, а не показать, как настроить результат также:
Ext.Ajax.request({
url: 'http://localhost:3000/userlist',
method: 'GET',
success: function (response, options) {
var s = response.responseText;
Ext.MessageBox.alert(s, 'WOO WOO');
myStore.loadData(s);
},
failure: function (response, options) {
Ext.MessageBox.alert('FAILED MOFO', 'Unable to GET');
}
});
Это то, что я получаю обратно:
nodetest1.usercollection
Вид: список пользователей
extends layout
block content
h1.
User List
u1
each user, i in userlist
li
a(href="mailto:#{user.email}")= user.username
маршрут по умолчанию:
exports.index = function(db) {
return function(req, res) {
var collection = db.get('usercollection');
collection.find({},{}, function(e,docs){
res.render('userlist', {
"userlist" : docs
});
});
};
};
Я ухожу отсюда или может кто-то увидеть, что я делаю неправильно.