Javascript 条件$match MongoDB

Javascript 条件$match MongoDB,javascript,mongodb,mongoose,Javascript,Mongodb,Mongoose,我是Mongo查询的新手,但我真的无法让这一点发挥作用 我有一个查询,我试图执行一个部分,我需要检查一个变量,然后匹配 const FIRST_SUBJECT = keywords_list[0].subjects || {"$ne":null}; . . . {'$match': {'entities.qcode': FIRST_SUBJECT}}, 在上面,我只想在FIRST\u SUBJECT不为空或null时执行$match 我在$match中尝试了$cond,反之亦然,但它们都

我是Mongo查询的新手,但我真的无法让这一点发挥作用

我有一个查询,我试图执行一个部分,我需要检查一个变量,然后匹配

const FIRST_SUBJECT = keywords_list[0].subjects || {"$ne":null};

.
.
.

{'$match': {'entities.qcode': FIRST_SUBJECT}},

在上面,我只想在
FIRST\u SUBJECT
不为空或null时执行$match

我在
$match
中尝试了
$cond
,反之亦然,但它们都会抛出错误

简单来说:

if(FIRST_SUBJECT)
$match
else
skip $match

如何实现这一点?

我认为您需要使用

   $match: {
      $or : [
       { "entities.qcode" : keywords_list[0].subjects} ,
       { "entities.qcode" : {$ne:null} }
    ]}

我想你的意思是如果
关键字列表[0]。主题
不是空的或空的,因为
第一个主题
永远不会是空的或空的。请澄清你的问题。