|
|
@@ -731,19 +731,20 @@ module.exports = function(crowi) {
|
|
|
var includeDeletedPage = option.includeDeletedPage || false;
|
|
|
var isRegExpEscapedFromPath = option.isRegExpEscapedFromPath || false;
|
|
|
|
|
|
+ let pathSlashOmitted = path;
|
|
|
+ if (path.match(/\/$/)) {
|
|
|
+ // add condition for finding the page completely match with `path`
|
|
|
+ pathSlashOmitted = path.substr(0, path.length -1);
|
|
|
+ pathCondition.push({path: pathSlashOmitted});
|
|
|
+ }
|
|
|
+
|
|
|
// create forward match pattern
|
|
|
var pattern = (isRegExpEscapedFromPath)
|
|
|
- ? `^${escapeStringRegexp(path)}` // escape
|
|
|
- : `^${path}`;
|
|
|
- var queryReg = new RegExp(pattern);
|
|
|
+ ? escapeStringRegexp(pathSlashOmitted) // escape
|
|
|
+ : pathSlashOmitted;
|
|
|
+ var queryReg = new RegExp('^' + pattern);
|
|
|
pathCondition.push({path: queryReg});
|
|
|
|
|
|
- // add condition for finding the page completely match with `path`
|
|
|
- if (path.match(/\/$/)) {
|
|
|
- debug('Page list by ending with /, so find also upper level page');
|
|
|
- pathCondition.push({path: path.substr(0, path.length -1)});
|
|
|
- }
|
|
|
-
|
|
|
var q = Page.find({
|
|
|
redirectTo: null,
|
|
|
$or: [
|