我在 MongoDB 中有一个“单词”集合。当我想搜索集合时,我想列出以“单词”开头的第一个单词,然后包含我查询的“单词”。在同一个数组中,我得到了这个结果;“simarte”、“Cumartesti”、“Mart”、“marti”、“martilar”。当我使用 contains 进行搜索时,它会给我带来包含“单词”(mart)的其他单词。
我想首先订购以“单词”开头的单词,而不是“包含”单词。是否可以在一个查询中做到这一点?我不想向 db 发出第二个请求。
这是我的代码示例:
var word = "mart";
db.words.find({"w" : {$regex : ".*" + word + ".*"}}, function(err, words) {
if( err || !words) console.log("No data found");
else{
res.render('index', { title: 'Words', word_data: words, word : word });
}
});