R/Mongolite: 如何 $unwind 数据框?
R/Mongolite: How to $unwind a dataframe?
我正在使用蒙古石。我的数据集中有一个数组,我想使用 $unwind 对其进行解构。我做了以下事情:
pUsers <- pUsers$aggregate(pipeline = {"$unwind" : "$profile.hobbies"})
结果:
Error in "$unwind":"$profile.hobbies" : NA/NaN argument
In addition: Warning messages:
1: In inherits(x, "bson") : NAs introduced by coercion
2: In inherits(x, "bson") : NAs introduced by coercion
看到报错,尝试排除NA值的数据,代码如下:
pUsers <- pUsers$aggregate(pipeline = '[
{"$match" : {"$profile.hobbies" : {"$exists" : true}}},
{"$unwind" : "$profile.hobbies"}]')
结果:
Error: unknown top level operator: $profile.hobbies
有人可以解释我犯的错误吗?此外,我怎样才能正确展开我的数据框?
谢谢!
如评论所述,R 的语法不符合 Mongo 的查询调用,特别是花括号和冒号,这与其他可以在这些位置支持这些符号的语言不同。
因此,请务必将整个调用包含在带引号的字符串中,并包含所有需要的符号,例如方括号。具体如下:
pUsers <- pUsers$aggregate(pipeline = {"$unwind" : "$profile.hobbies"})
应修改为
pUsers <- pUsers$aggregate(pipeline = '[{"$unwind" : "$profile.hobbies"}]')
我正在使用蒙古石。我的数据集中有一个数组,我想使用 $unwind 对其进行解构。我做了以下事情:
pUsers <- pUsers$aggregate(pipeline = {"$unwind" : "$profile.hobbies"})
结果:
Error in "$unwind":"$profile.hobbies" : NA/NaN argument
In addition: Warning messages:
1: In inherits(x, "bson") : NAs introduced by coercion
2: In inherits(x, "bson") : NAs introduced by coercion
看到报错,尝试排除NA值的数据,代码如下:
pUsers <- pUsers$aggregate(pipeline = '[
{"$match" : {"$profile.hobbies" : {"$exists" : true}}},
{"$unwind" : "$profile.hobbies"}]')
结果:
Error: unknown top level operator: $profile.hobbies
有人可以解释我犯的错误吗?此外,我怎样才能正确展开我的数据框? 谢谢!
如评论所述,R 的语法不符合 Mongo 的查询调用,特别是花括号和冒号,这与其他可以在这些位置支持这些符号的语言不同。
因此,请务必将整个调用包含在带引号的字符串中,并包含所有需要的符号,例如方括号。具体如下:
pUsers <- pUsers$aggregate(pipeline = {"$unwind" : "$profile.hobbies"})
应修改为
pUsers <- pUsers$aggregate(pipeline = '[{"$unwind" : "$profile.hobbies"}]')