首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询和排序集合MongoDB Stitch

查询和排序集合MongoDB Stitch
EN

Stack Overflow用户
提问于 2020-01-13 16:28:31
回答 1查看 149关注 0票数 0

我用的是反应本机和mongoDB针法。我的意图是,当我使用关键字运行查询时,结果应该与大多数匹配的关键字排序,

例如,如果我搜索Aqua,结果应该排序为

  • 阿奎亚
  • 水族
  • 阿奎蒂卡
  • 水提物
  • 水-水
  • 等。

我找到了这方面的文档(https://docs.mongodb.com/manual/reference/operator/projection/meta/)

代码语言:javascript
复制
db.collection.find(
   <query>,
   { score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )

但无法找到如何为mongodb缝纫编写这段代码,

我试过

代码语言:javascript
复制
const query = {
        name: {
            $regex: searchKeyword,
            $options: 'i', 
            //"$meta": "textScore"
        },
        score: { "$meta": "textScore" } // not sure where to put it , Saying unknown operator $meta 
    };
const options = {
        "sort": { "score": { $meta: "textScore" }}
    };

db.collection(itemNameDB).find( query, options).toArray()
            .then(results => {
            console.log(results)
})

它破败地说‘未知操作员$meta’。在mongdb缝纫文档中没有找到任何例子。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-01-20 22:56:54

它破败地说‘未知操作员$meta’。没有在mongodb缝纫文档中找到任何例子。

有几种方法可以做到这一点。其中一种方法是创建一个可以从应用程序调用的针法函数 (React)。在您的函数中,您可以调用db.collection.find()。例如:

代码语言:javascript
复制
exports = function(word){

     var coll = context.services.get("mongodb-atlas").db("dbName").collection("collName"); 
     var doc = coll.find(
        {"$text": {"$search": word}}, 
        {"score": {"$meta": "textScore"}}
     ).sort(
        {"score":{"$meta":"textScore"}}
     ).toArray();

     doc.forEach(element => console.log(JSON.stringify(element)));

     return doc; 
};

上面的函数应该打印出与下面类似的内容,并以EJSON格式返回数组。

代码语言:javascript
复制
{"_id":"5e262bf99514bb2d81bb8735","item":"Aqua","score":1.1}
{"_id":"5e262c009514bb2d81bb8736","item":"Aquae","score":1}
{"_id":"5e262c109514bb2d81bb8739","item":"Aqua-water","score":0.75}

请注意,要执行文本搜索查询,必须在集合上有一个文本索引

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59720472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档