【问题标题】:MongoDB Query for finding books with same author or at-least one matching category用于查找具有相同作者或至少一个匹配类别的书籍的 MongoDB 查询
【发布时间】:2020-06-06 10:55:44
【问题描述】:

我想查找具有相同作者或至少一个匹配类别的书籍

我的图书架构是这样的。

const bookSchema = new Schema(
    {
      title: {
          type: String,
          required: true
      },
      author:{
          type: String,
          required: true,
      },categories:[{
        type: Schema.Types.ObjectId,
        ref:"Category"
    }]
});

我正在使用这个。它不工作。

var moreBooks = await Books.find({
    $or : 
        [
            { 
                author: book.author
            },
            { 
                categories: {
                    $elemMatch: { 
                        $in: book.categories 
                    } 
                } 
            }
        ]
    });

【问题讨论】:

  • 你能用你传入的示例文档和输入来编辑这个问题吗?你为什么还要用$elemMatch$in
  • 我需要找到与书“书”具有相同作者或一个共同类别的书。

标签: javascript node.js mongodb express mongoose


【解决方案1】:

它是正确的 mongodb 查询,用于查找具有相同作者或至少一个匹配类别的书籍。我的错误是用 Books 代替 Book。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 2011-12-10
    • 2011-11-23
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多