最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

根据字段值从文本搜索结果集中排除某些文档的优化?

IT培训 admin 8浏览 0评论

根据字段值从文本搜索结果集中排除某些文档的优化?

在我们的MongoDB-Node.js-Mongoose设置中:

我们已经创建了一个text search index,我们也能够从它的集合中找到一个单词:

db.sampleCollection.find( { $text: { $search: "wordToSearch" } })

到目前为止,没有问题......

我们要求如果sampleCollection中的文档将字段private设置为true,那么我们需要从结果集中排除这些文档。

可能我们可以添加这样的东西:

.where({ private: true})

它看起来像是一个额外的呼叫而且效率不高。有没有更好更快的方法呢?

回答如下:

如果你想对MongoDB说:“给我所有文本'wordToSearch'并且有一个名为'private'的属性不等于true”,那么下面的查询应该有效:

db.sampleCollection.find({ private: { $ne: true }, $text: { $search: "wordToSearch" } })

根据字段值从文本搜索结果集中排除某些文档的优化?

在我们的MongoDB-Node.js-Mongoose设置中:

我们已经创建了一个text search index,我们也能够从它的集合中找到一个单词:

db.sampleCollection.find( { $text: { $search: "wordToSearch" } })

到目前为止,没有问题......

我们要求如果sampleCollection中的文档将字段private设置为true,那么我们需要从结果集中排除这些文档。

可能我们可以添加这样的东西:

.where({ private: true})

它看起来像是一个额外的呼叫而且效率不高。有没有更好更快的方法呢?

回答如下:

如果你想对MongoDB说:“给我所有文本'wordToSearch'并且有一个名为'private'的属性不等于true”,那么下面的查询应该有效:

db.sampleCollection.find({ private: { $ne: true }, $text: { $search: "wordToSearch" } })
发布评论

评论列表 (0)

  1. 暂无评论