我在node.js和socket.io中工作,基本上我在监听socket disconnect
事件并调用方法。 app.update()
socket.on('disconnect', function (data) {
app.update();
});
// This is in another file, and the id is static, but I am more concered with the
// messages object that is passed through.
update: function() {
models.Message.find({_id: "532c8d9ce889ed4c21538630"}, function(err, messages) {
console.log(messages)
});
}
这就是messages
对象的样子
[ { username: 'Marcus',
connected: true,
_id: 532c8d9ce889ed4c21538630,
__v: 0 } ]
我不确定如何使用它周围的括号访问对象,但基本上我想更新对象,以便我可以将connected
设置为false。
我尝试了messages['connected']
。
答案 0 :(得分:3)
你有一系列物品。所以你需要访问数组的第一个元素,然后连接'属性。这样做:
messages[0].connected = false;
答案 1 :(得分:3)
messages
可能包含多个结果,因此您在那里有一个数组。
实际上messages
将始终是一个数组,因为您正在使用find
,这需要多个结果。如果您使用findOne
而不是数组而是文档。
您应该尝试举例.. messages[0].username
答案 2 :(得分:0)
如果您想更新其中的每一个:
messages.forEach(function(message) {
message.connected = false;
});