2015-11-25 8 views
0

Прежде всего, С Днем Благодарения всем! Надеюсь, всем понравится вся еда, которую они будут есть! Я знаю, что я буду ..Socket.io излучающий [объект Объект] с документом mongoDB

Любой, кто,

Я пытаюсь запросить мою коллекцию MongoDB для самого последнего документа, который был вставлен и испускают его клиенту. Однако единственное, что появляется на веб-странице, это [object Object] вместо данных, хранящихся в документе. Когда я console.log данные, посылаемые он показывает это:

Object {newData: Array[1]} 
newData: Array[1] 
0: Object_id: "564f8b8cfa74e4daab1543ca" 
ambientAtTrackTempSensor: "-" 
date: "10/09/2015" 
dewPoint: "56" 
humidity: "63.0" 
pressure: "29.258" 
solar: "397" 
temp: "80.1" 
time: "17:00" 
trackTemp: "-" 
windBearing: "222" 
windGust: "7.0" 
windSpeed: "6.0" 
__proto__: Object 
length: 1 
__proto__: Array[0] 
__proto__: Object 

Таким образом, данные там, я предполагаю, что я просто не доступ к ней правильно.

Вот мой код:

Сервер:

var io = require('socket.io').listen(server); 

MongoClient.connect(dbUrl, function(err, db) { 
    if (err) { 
    console.log('Failed to connect to mongoDB database.'); 
    } else { 
    console.log('Succesfully connected to mongoDB database.'); 
    }; 

io.sockets.on('connection', function(socket) { 
// send data to client 
    var collection = db.collection('track_weather'); 
    collection.find().sort({_id:-1}).limit(1).toArray(function(err, docs) { 
    console.log(docs); 
    socket.emit('message', {'newData': docs}); 
    }); 
}); 
}); 

Клиент:

<body> 

<script> 
    var socket = io.connect(); 

    socket.on('message', function(data) { 
    $('#newData').text(data.newData); 
    console.log(data); 
    }); 
</script> 

<div id="newData"></div> 

</body> 

Любая помощь будет принята с благодарностью! Я очень новичок во всем этом :)

ответ

1

Вы должны подстроить свой объект, чтобы отобразить его, или javascript просто отобразит тип ([object Object] здесь).

$('#newData').text(JSON.stringify(data.newData)); 
+0

Спасибо, что сработало отлично! –

+0

Нет проблем, это распространенная ошибка, и я сделал это несколько раз :) – Shanoor