$或运算符未在Node中识别

时间:2017-06-16 02:09:18

标签: javascript node.js mongodb

我正在参加在线课程,但我遇到了查询问题。在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();

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

2 个答案:

答案 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"}} ]