gpt4 book ai didi

javascript - Node 中无法识别 $or 运算符

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:59 26 4
gpt4 key购买 nike

我正在参加在线类(class),但遇到查询问题。在 shell 中工作正常,但是在运行 js 文件时出现错误:未知运算符:$or。这是相关代码:

var allOptions = [
{
overview: "wiki",
},
{
milestones: "CMO"
}
];

然后在查询函数中:

  var query = {};

if ("overview" in options) {
query.overview = { "$or": [{"overview": {"$regex": options.overview, "$options": "i"}},
{"tag_list": {"$regex": options.overview, "$options": "i"}}] }

在 shell 中,如果我这样查询:

db.companies.find({ $or: [{"overview": {"$regex": "wiki"}}, {"tag_list": {"$regex": "wiki"}}] }).count();

我得到了结果。我究竟做错了什么?任何帮助将不胜感激

最佳答案

您需要.find()正确的元素:

var allOptions = [ { "overview" : "wiki" }, { "milestones" : "CMO" } ]

var query = { };
if ( allOptions.find( o => o.overview ) ) {

var overview = allOptions.find(o => o.overview ).overview;
// returns "wiki"

query.$or = [
{"overview": {"$regex": overview, "$options": "i"}},
{"tag_list": {"$regex": overview, "$options": "i"}}
];
// query is now like
// { "$or": [{"overview": {"$regex": "wiki", "$options": "i" }}, {"tag_list": {"$regex": "wiki", "$options": "i" }}]
}

Company.find(query,function(err,results) {
console.log(results);
})

关于javascript - Node 中无法识别 $or 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44579717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com