Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于查找具有相同作者或至少一个匹配类别的书籍的MongoDB查询_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 用于查找具有相同作者或至少一个匹配类别的书籍的MongoDB查询

Javascript 用于查找具有相同作者或至少一个匹配类别的书籍的MongoDB查询,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我想找同一作者或至少有一个匹配类别的书 我的书是这样的 const bookSchema=新模式( { 标题:{ 类型:字符串, 必填项:true }, 作者:{ 类型:字符串, 要求:正确, },类别:[{ 类型:Schema.Types.ObjectId, 参考:“类别” }] }); 我正在用这个。它不起作用 var moreBooks=wait Books.find({ $or: [ { 作者:book.author }, { 类别:{ $elemMatch:{ $in:book.

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

我的书是这样的

const bookSchema=新模式(
{
标题:{
类型:字符串,
必填项:true
},
作者:{
类型:字符串,
要求:正确,
},类别:[{
类型:Schema.Types.ObjectId,
参考:“类别”
}]
});
我正在用这个。它不起作用

var moreBooks=wait Books.find({
$or:
[
{ 
作者:book.author
},
{ 
类别:{
$elemMatch:{
$in:book.categories
} 
} 
}
]
});

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

你能用你传递的样本文档和输入编辑这个问题吗。你为什么要在
$in
中使用
$elemMatch
呢?我需要找到与图书“book”具有相同作者或一个共同类别的图书。