查找文档的猫鼬查询在节点js的内部对象中包含特定键

时间:2019-07-25 08:48:11

标签: node.js mongodb mongoose

我当前的mongo数据库结构是这样的

Room: {
// ... other data
 users : {
   userId1 : {
    //  other user info ...
   }
   userId2 : {
    // other  user info ...
   }
  }
}

现在我想编写一个猫鼬查询来查找所有包含userId 123的房间。 您能否让我知道如何使用Room.find中的Mongoose方法来实现这一点。

**在我的模式users中,是一个对象而不是数组,并且由于此结构是使用现有数据从Firebase DB导入的,因此无法更改它。所以这是一个局限。

谢谢。

1 个答案:

答案 0 :(得分:0)

首先确认您要所有房间或房间(一个文档),因为您提到了所有带有“ findOne”的房间,findOne将仅返回一个文档。

无论如何,如果该文档包含这些userId1,userId2字段,则可以通过$ or运算符在mongodb中实现,如下所示

在执行猫鼬查询之前,请确保已完成模式创建,mongodb连接。

testStep1=OK
testStep2=OK