[英]MongoDB MapReduce returning null values in PHP (but works in Javascript)
[英]mongodb - mapReduce() scope - Undefined values are converted into null values
如果我將具有未定義值的變量放入mapReduce()的“ scope”參數中,則map函數將接收具有空值(而不是未定義值)的變量。 那是對的嗎?
例如(“ mongo”命令的javascript框架):
db.mycol.mapReduce(
f_map,
f_reduce,
{
scope: { myvar: undefined}
}
);
function f_map()
{
print("myvar: " + myvar);
}
這樣會將“ myvar:null”(而不是“ myvar:undefined”)打印到服務器日志中(復制到副本集成員日志中)。 通過mapReduce()時,未定義的值會自動轉換為空值嗎?
是的,在mongodb的v8引擎中, undefined
值被轉換為null
值。
這樣做的原因是保持與較舊的Spider Monkey JS引擎的向后兼容性,並且不破壞依賴於該行為的現有代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.