繁体   English   中英

如何访问该对象的属性?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM