summaryrefslogtreecommitdiff
path: root/jstests
diff options
context:
space:
mode:
authorA. Jesse Jiryu Davis <jesse@mongodb.com>2021-02-22 19:05:35 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-02-23 00:41:56 +0000
commit3274c2a3d916cfc3e73c9020660fe4d0fb45ebf2 (patch)
treeac0ae753a5295a555a599053525eee9cab5d47a3 /jstests
parent137bd47d9138fe9bbb0e1fc81dfbbce2cfd35a96 (diff)
downloadmongo-3274c2a3d916cfc3e73c9020660fe4d0fb45ebf2.tar.gz
SERVER-54706 Fix listIndexes with string-valued weight
Diffstat (limited to 'jstests')
-rw-r--r--jstests/core/fts_blogwild.js4
-rw-r--r--jstests/core/fts_index.js15
2 files changed, 18 insertions, 1 deletions
diff --git a/jstests/core/fts_blogwild.js b/jstests/core/fts_blogwild.js
index 29a2508bf07..f449b6b827e 100644
--- a/jstests/core/fts_blogwild.js
+++ b/jstests/core/fts_blogwild.js
@@ -16,8 +16,10 @@ t.save({
});
// default weight is 1
-// specify weights if you want a field to be more meaningull
+// specify weights if you want a field to be more meaningful
t.createIndex({dummy: "text"}, {weights: "$**"});
+// ensure listIndexes can handle a string-valued "weights"
+assert.eq(2, t.getIndexes().length);
res = t.find({"$text": {"$search": "blog"}});
assert.eq(3, res.length(), "A1");
diff --git a/jstests/core/fts_index.js b/jstests/core/fts_index.js
index 3080534c434..c704159d67e 100644
--- a/jstests/core/fts_index.js
+++ b/jstests/core/fts_index.js
@@ -204,4 +204,19 @@ coll.dropIndexes();
assert.commandFailed(coll.createIndex({a: 1, _fts: "text", _ftsx: 1, c: 1}, {weights: {}}));
assert.commandFailed(coll.createIndex({a: 1, _fts: "text", _ftsx: 1, c: 1}));
+// These are permitted for now, make sure they don't interfere with listIndexes.
+// TODO (SERVER-54712): Remove
+coll.drop();
+assert.commandWorked(coll.createIndex({a: 1, c: 1}, {weights: {d: 1}}));
+coll.getIndexes();
+coll.drop();
+assert.commandWorked(coll.createIndex({a: 1, c: 1}, {weights: "$**"}));
+coll.getIndexes();
+coll.drop();
+assert.commandWorked(coll.createIndex({a: 1, c: 1}, {weights: {}}));
+coll.getIndexes();
+coll.drop();
+assert.commandWorked(coll.createIndex({a: 1, c: 1}, {weights: "$foo"}));
+coll.getIndexes();
+
coll.drop();