我需要编写一个查询字符串,该字符串只获取那些在Mongoose模型中将“ enabled”字段设置为true的值,但是我编写的查询似乎无法正常工作。无论我将其更改为什么,它都会返回数据库中的所有内容。
尝试查询字符串的变体。
const PostsSchema = new Schema({
title: String,
description: String,
enabled: {
type: Boolean,
default: true
}
});
这是我的查询字符串:
query = { $and:[ {$text: { $search: search_string }},{"enabled":{$ne:false}} ] };
opts = { score: { $meta: 'textScore' } };
sort = {
score: { $meta: 'textScore' }
};
let results = await Posts.find(query, opts)
.sort(sort).lean();
答案 0 :(得分:0)
如果您正在寻找一个仅获取集合中启用的true的函数, 这是实现的方法之一。
db.posts.aggregate ([
{ $match: { enabled: true } }
]);
在聚合中,您还可以对值进行排序,分组,限制和跳过。