我正在参加在线课程,但我遇到了查询问题。在shell中工作正常,但在运行js文件时出现错误:未知运算符:$或。这是令人遗憾的代码:
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();
我得到了一个结果。我究竟做错了什么?任何帮助将不胜感激
答案 0 :(得分:1)
您需要.find()
正确的元素:
$(funcion() {
$('li.product-single__thumbnails-item').each(function(){
var $mobilemodelselected = document.getElementById("FeaturedImage-product-template");
var $mobilemodelcolor = $mobilemodelselected.getAttribute("color-option");
var $mobilecolorcheck = $(this).attr('color-option');
if ($mobilemodelcolor != $mobilecolorcheck) {
$('li.product-single__thumbnails-item').removeAttribute('data-slick-index');
}
});
});
答案 1 :(得分:0)
您需要使用$或作为第一个查询属性,就像您为shell构建的查询一样。
例如:
query.$or = [
{"overview": {"$regex": overview, "$options": "i"}},
{"tag_list": {"$regex": overview, "$options": "i"}}
]