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