Parse platform 如何在JS中创建聚合查询,其中$in包含null?

Parse platform 如何在JS中创建聚合查询,其中$in包含null?,parse-platform,mongodb-query,parse-server,parse-javascript-sdk,Parse Platform,Mongodb Query,Parse Server,Parse Javascript Sdk,此MongoDB查询在shell中执行良好: db.MyCollection.aggregate([ { $match: { "language": { "$in": [null, "en"]} } } ]).pretty() 查询返回语言字段缺失或值为null或en的文档 我尝试使用Javascript中的Parse SDK创建相同的查询: const query = new Parse.Query("MyCollect

此MongoDB查询在shell中执行良好:

db.MyCollection.aggregate([
    {
        $match: {
            "language": { "$in": [null, "en"]}
        }
    }
]).pretty()
查询返回
语言
字段缺失或值为
null
en
的文档

我尝试使用Javascript中的Parse SDK创建相同的查询:

const query = new Parse.Query("MyCollection");
const pipeline = {
    "match":{"language":{"$in":[null,"en"]}},
};

const results = await query.aggregate(pipeline);
查询仅返回
语言
字段值为
en
的文档,而不返回缺少字段的文档


如何在JS中获得相同的结果?

您是否尝试过使用
undefined
而不是
null
?@davidacêdo
undefined
不是MongoDB可以识别的值,它与
null
不同。另外,
undefined
将被parse-REST控制器删除,因为它使用
JSON.stringify
创建请求体字符串。我知道这一点。在数据库中,可以有null或undefined(如果您没有设置任何内容)。但这似乎真的是一个错误。实际上,我也尝试了这个
{“match”:{“$or”:[{“language”:“en”},{“language”:null},{“language”:{“$exists”:false}]}
。它匹配未定义的值,但不匹配空值。你介意在回购协议中开仓吗?我来看看。你用
undefined
而不是
null
试过了吗?@davidacêdo
undefined
不是MongoDB可以识别的值,它与
null
不一样。另外,
undefined
将被parse-REST控制器删除,因为它使用
JSON.stringify
创建请求体字符串。我知道这一点。在数据库中,可以有null或undefined(如果您没有设置任何内容)。但这似乎真的是一个错误。实际上,我也尝试了这个
{“match”:{“$or”:[{“language”:“en”},{“language”:null},{“language”:{“$exists”:false}]}
。它匹配未定义的值,但不匹配空值。你介意在回购协议中开仓吗?我来看看,好了