使用MongoDB创建配对查询

时间:2017-12-13 22:13:41

标签: mongodb mongoose

我有这个问题:

       $and: [
        {
          userId: {
            $in: userIds
          }
        },
        {
          promptId: {
            $in: promptIds
          }
        }
      ],

但我很快意识到这是不正确的,因为错误的userId可能与错误的promptId配对。

相反,我需要做这样的事情:

$or: [
  {
   userId: 'foo1',
   promptId: 'bar1'
  },

  {
   userId: 'foo2',
   promptId: 'bar2'
  },

  {
   userId: 'foo3',
   promptId: 'bar3'
  },
]

是$或查询最优?有没有更好的方法来写这个?

1 个答案:

答案 0 :(得分:1)

假设您正在尝试查找具有userId: foo1promptId: bar1的文档,您可以像这样使用db.collection.find()

db.collection.find({userId: 'foo1',promptId: 'bar1'})