我有一个名为ChatRooms的集合,它有一个chatIds数组,它们只是聊天室中的用户ID。一次只有两个ID在数组中。 我想找到这个数组中的第一个元素并将其设置为变量“messager”,以便我可以看到它是否属于当前登录的人。如果没有,刚刚发送的消息将被添加到另一个集合中调用通知,以便可以通知其他用户接收消息。我一直在查询中遇到语法错误,我不知道为什么。这是我的代码块:
{{1}}
答案 0 :(得分:1)
$slice
需要标量或数组参数。 docs你也应该做一个findOne
,它返回一个对象,而不是一个返回光标的find
。
尝试:
var messager = ChatRooms.findOne( {}, { chatIds: { $slice: 1 } } ).chatIds;
或
var messager = ChatRooms.findOne({}).chatIds[0];