【问题标题】:Creating query with Mongoose library (find objects in array)使用 Mongoose 库创建查询(在数组中查找对象)
【发布时间】:2020-04-12 05:45:30
【问题描述】:

这是我的 Mongoose 模型的对话对象:

const conversationSchema = mongoose.Schema({
  participants: [
    {
      id_profile: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true }
    }
  ]
});

如何在 ID = 123456 和 ID = 654321 的数组“参与者”中找到包含两个对象的对话对象?数组“参与者”中对象的顺序可以不同。

conversation = {
  participants: [
    { id_profile: '123456' },
    { id_profile: '654321' }
  ]
}

conversation = {
  participants: [
    { id_profile: '654321' },
    { id_profile: '123456' }
  ]
}

如何使用 Mongoose 创建查询?

【问题讨论】:

    标签: node.js mongodb mongoose nosql


    【解决方案1】:

    您可以将$all 用于此查询,它会查找某个字段与所有一组值匹配的文档:

    Conversation.find({'participants.id_profile': {$all: ['123456', '654321']}})
    

    【讨论】:

      猜你喜欢
      • 2021-07-02
      • 1970-01-01
      • 2019-08-23
      • 2020-09-15
      • 2014-05-13
      • 2017-04-04
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      相关资源
      最近更新 更多