Javascript MongoDB/mongoose中是否有大型$or查询的替代方案?
想象一下,我在MongoDB有一个很大的收藏,比如Javascript MongoDB/mongoose中是否有大型$or查询的替代方案?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,想象一下,我在MongoDB有一个很大的收藏,比如 { filename: 'a.jpg', filepath: '/images/83920/', ... }, { filename: 'b.jpg', filepath: '/images/52345/', ... }, { filename: 'c.jpg', filepath: '/images/14152/', ... }, ... { filename: 'xyz.jpg', filepat
{
filename: 'a.jpg',
filepath: '/images/83920/',
...
},
{
filename: 'b.jpg',
filepath: '/images/52345/',
...
},
{
filename: 'c.jpg',
filepath: '/images/14152/',
...
},
...
{
filename: 'xyz.jpg',
filepath: '/images/15325/',
...
}
现在我想一次检索多个文档,其中每个文档都符合特定的条件
现在我的做法是:
db.getCollection('images')
.find({
$or: [
{filename: 'b.jpg', filepath: '/images/52345/'},
...
{filename: 'xyz.jpg', filepath: '/images/15325/'},
]
});
我的问题是:在MongoDB/mongoose中有没有替代大型$or查询的方法
差不多
db.getCollection('images')
.findMultiple([
{filename: 'b.jpg', filepath: '/images/52345/'},
...
{filename: 'xyz.jpg', filepath: '/images/15325/'},
]);
那真的很有帮助
或者$Or链接是实现此目的的理想方法吗?您可以添加一个派生字段用于查询:
{
filename: 'a.jpg',
filepath: '/images/83920/',
hash: md5(filename, filepath),
...
},
然后在(哈希)中查询$in
这将允许您为哈希字段编制索引。您可以添加一个派生字段用于查询:
{
filename: 'a.jpg',
filepath: '/images/83920/',
hash: md5(filename, filepath),
...
},
然后在(哈希)中查询$in
这将允许您为散列字段编制索引。您不喜欢使用
$或的哪些方面?除了语法之外,您可以分享更多关于您尝试实现的内容吗?您是否使用$或达到性能或请求大小限制?示例中省略号的含义是什么?选择具有相同路径的所有文件,这些文件按字典顺序排列在列出的两个文件之间?您不喜欢使用$或
$的哪些内容?除了语法之外,您可以分享更多有关您尝试实现的内容吗?您是否使用$或达到性能或请求大小限制?示例中省略号的含义是什么?选择具有相同路径的所有文件,这些文件按字典顺序排列在列出的两个文件之间?