[英]How do I access properties on this object?
我在node.js和socket.io中工作,基本上我监听套接字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']
。
您有一系列对象。 因此,您需要访问数组的第一个元素,然后访问“ connected”属性。 做这个:
messages[0].connected = false;
messages
可能包含多个结果,因此您在那里有一个数组。
实际上, messages
始终是一个数组,因为您使用的是find
,它期望多个结果。 如果您使用的是findOne
,它将不是数组而是文档。
您应该尝试例如.. messages[0].username
如果要更新它们中的每一个:
messages.forEach(function(message) {
message.connected = false;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.