Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Node.js 当使用Mongoose从MongoDB获取数据时,基于正则表达式/字符串匹配排除获取密钥_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 当使用Mongoose从MongoDB获取数据时,基于正则表达式/字符串匹配排除获取密钥

Node.js 当使用Mongoose从MongoDB获取数据时,基于正则表达式/字符串匹配排除获取密钥,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我们有一张相当大的桌子需要取。我们已经创建了一个复合索引,它要求fetch只扫描所需的数据,但是这仍然返回约5K个集合,每个集合有约120个键。我们希望加快这一速度,使其超越复合_指数为我们所做的。使用mongoose,我们的应用程序中有以下代码: let router = express.Router(); router.get('/big-table/name/:name/school/:school', function (req, res) { let name = Number

我们有一张相当大的桌子需要取。我们已经创建了一个复合索引,它要求fetch只扫描所需的数据,但是这仍然返回约5K个集合,每个集合有约120个键。我们希望加快这一速度,使其超越复合_指数为我们所做的。使用
mongoose
,我们的应用程序中有以下代码:

let router = express.Router();
router.get('/big-table/name/:name/school/:school', function (req, res) {
    let name = Number(req.params.name);
    let school = Number(req.params.school);
    db.our_big_table.find({ name: { $eq: name }, school: { $eq: school })
        .then(data => res.json(data))
        .catch(err => res.status(400).json('Error: ' + err))
});
我们不需要120个键中的60个,所有60个键都以后缀
TTOP
结尾。例如,这60把钥匙中有3把可能是
ageTTOP
heighttop
sizeTTOP
。。。我们可以列出要排除的每一列,如下所示:

let router = express.Router();
router.get('/big-table/name/:name/school/:school', function (req, res) {
    let name = Number(req.params.name);
    let school = Number(req.params.school);
    db.our_big_table.find({ name: { $eq: name }, school: { $eq: school }, '-ageTTOP -heightTTOP -sizeTTOP ...')
        .then(data => res.json(data))
        .catch(err => res.status(400).json('Error: ' + err))
});
但是,如果我们可以将
.find()
函数中的第二个参数替换为以下内容,那就太好了:

db.our_big_table.find({ name: { $eq: name }, school: { $eq: school }, 'doesnt end in TTOP')

MongoDB/Mongoose可以这样做吗?

我认为这不受支持,您需要重新组织架构。好的,很高兴知道,谢谢。我认为这不受支持,您需要重新组织架构。好的,很高兴知道,谢谢