Javascript 如何访问此对象的属性?

Javascript 如何访问此对象的属性?,javascript,node.js,mongodb,object,Javascript,Node.js,Mongodb,Object,我在node.js和socket.io中工作,基本上我监听socketdisconnect事件并调用一个方法应用程序更新() 这就是消息对象的外观 [ { username: 'Marcus', connected: true, _id: 532c8d9ce889ed4c21538630,

我在node.js和socket.io中工作,基本上我监听socket
disconnect
事件并调用一个方法<代码>应用程序更新()

这就是
消息
对象的外观

[ { username: 'Marcus',                                         
    connected: true,                                            
    _id: 532c8d9ce889ed4c21538630,                              
    __v: 0 } ]
我不知道如何使用括号访问对象,但基本上我想更新对象,以便将
connected
设置为false


我尝试了
消息['connected']

您已经获得了一个对象数组。因此,您需要访问数组的第一个元素,然后访问“connected”属性。这样做:

messages[0].connected = false;

你有一个对象数组。因此,您需要访问数组的第一个元素,然后访问“connected”属性。这样做:

messages[0].connected = false;

消息
可能包含多个结果,因此在那里有一个数组

实际上,
消息
将始终是一个数组,因为您使用的是
查找
,它需要多个结果。如果改用
findOne
,它将不是一个数组,而是一个文档


例如,你应该试试看<代码>消息[0]。用户名
消息
可能包含多个结果,因此您在其中有一个数组

实际上,
消息
将始终是一个数组,因为您使用的是
查找
,它需要多个结果。如果改用
findOne
,它将不是一个数组,而是一个文档


例如,你应该试试看<代码>消息[0]。用户名

如果要更新每个消息:

messages.forEach(function(message) {
    message.connected = false;
});

如果要更新其中的每一项,请执行以下操作:

messages.forEach(function(message) {
    message.connected = false;
});

啊,谢谢,我记得在mongodb文档中看到了
findOne
。我忘了。我不敢相信我会如此愚蠢,括号几乎总是代表一个数组。我只是不明白为什么它会返回一个没有意义的数组。现在是了!谢谢顺便说一句,一定要将mongodb和NodeJ作为标签添加到此邮件中。谢谢,我记得在mongodb文档中看到了
findOne
。我忘了。我不敢相信我会如此愚蠢,括号几乎总是代表一个数组。我只是不明白为什么它会返回一个没有意义的数组。现在是了!谢谢顺便说一句,一定要把mongodb和nodejs作为标签添加到这篇博文中。谢谢你提供了一个连接到false,perfect的例子。谢谢你提供了一个连接到false,perfect的例子。