最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

运维笔记admin10浏览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" } })
发布评论

评论列表(0)

  1. 暂无评论