Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MongoDB嵌套查询-BadValue错误_Javascript_Mongodb_Mongoose - Fatal编程技术网

Javascript MongoDB嵌套查询-BadValue错误

Javascript MongoDB嵌套查询-BadValue错误,javascript,mongodb,mongoose,Javascript,Mongodb,Mongoose,以下是我正在尝试运行的查询: {ownerId:14, “$or”: [{'$or': [{'$and': [{provider:'INSTAGRAM'}, {标签: {'$or': [{'$in':['skyhotel']}, {'$or':[{'$all':[“天空酒店”,“卓越”]}]}]}, {'$and': [{提供者:'VKONTAKTE'}, {标签: {'$or': [{'$in':['skyhotel']}, {'$or':[{'$all':[“天空酒店”,“卓越”]}]}]

以下是我正在尝试运行的查询:

{ownerId:14,
“$or”:
[{'$or':
[{'$and':
[{provider:'INSTAGRAM'},
{标签:
{'$or':
[{'$in':['skyhotel']},
{'$or':[{'$all':[“天空酒店”,“卓越”]}]}]},
{'$and':
[{提供者:'VKONTAKTE'},
{标签:
{'$or':
[{'$in':['skyhotel']},
{'$or':[{'$all':[“天空酒店”,“卓越”]}]}]}]},
{'$or':
[{'$and':
[{provider:'INSTAGRAM'},
{authorLogin:{'$in':['valera92','petyan']}},
{'$and':
[{提供者:'VKONTAKTE'},
{authorLogin:{'$in':['valera92']}}}]},
{'$or':
[{'$and':
[{provider:'INSTAGRAM'},
{locationId:{'$in':['32454234']}}}]},
{'$or':
[{'$and':
[{provider:'INSTAGRAM'},

{location:{'$or':[{'$GEOIN':{'$centerSphere':[['56.829782','60.593162',0.000012629451888331]}}}]}
您的查询可以简化为以下内容:

{
ownerId:14,
provider: { $in: [ 'INSTAGRAM', 'VKONTAKTE' ] },
'$or': [
    {
        tags: { $in: [ 'skyhotel', 'excellent' ] }
    },
    {
        authorLogin: { $in: [ 'valera92', 'petyan' ] },
    },
    {  
        locationId:{ '$in':[ '32454234' ] }
    },
    {  
        location:{  
                    {  
                        '$geoWithin':{
                            '$centerSphere':[ [ '56.829782', '60.593162' ], 0.000012629451881788331 ]
                        }
                    }
                }
    }
]
}

这可能不是你想要的。但是从你的要求和你提供的信息来看,这是我能给出的最好的建议。

你想在这里做什么?请提供一个适当的用例。至少提供一个集合中的示例文档以及您希望查询找到的内容。首先,我认为您不需要使用$,也不需要在任何地方使用它。“find方法的对象中的每一个东西都是隐式AND的。@SiddharthAjmera添加了一个示例文档。不幸的是,去掉$ands没有帮助。你想做什么?写下你希望查询匹配的条件的“单词”可能会更好地解释这一点。您当然不需要所有这些嵌套,而且有太多语法上完全不正确的东西,这使得问题更加不清楚。单词和示例都是“应该匹配”的示例文档和“不应该”的示例文档,用单词解释为什么和为什么不匹配。