在我的本地主机中,y在MongoDB中创建了一个数据库(coches)和一个集合(dtc)。我的收藏包含了200多万个文档。
我想将文档的一个子集连接到R中。我在MongoDB中运行的查询是this question的查询,我在这里复制/粘贴:
db.getCollection("dtc")
.find({
"payload.fields.MDI_CC_DIAG_DTC_LIST": { $exists: true },
"payload.asset": { $exists: true }
})这个子集产生了2265个文档。
我在RStudio中加载了mongolite包,以连接MongoDB和R。
library(mongolite)
c <- mongo(collection = "dtc", db = "coches")然而,当我尝试这些查询时:
# query 1
c$find('{
"payload.fields.MDI_CC_DIAG_DTC_LIST": { $exists: true },
"payload.asset": { $exists: true }
}')
# query 2
c$find(query = '{
"payload.fields.MDI_CC_DIAG_DTC_LIST": { $exists: true },
"payload.asset": { $exists: true }
}')我得到了这个错误:
Error: Invalid JSON object: { "payload.fields.MDI_CC_DIAG_DTC_LIST": { $exists: true }, "payload.asset": { $exists: true } }原始文档是JSON嵌入文件。
编码中出了什么问题?我遗漏了什么?
发布于 2020-03-27 20:02:53
过了一段时间,检查了不同的地方,我遇到了这个问题,因此可以解决它。问题是必须用引号("$exists")将$exists括起来。所以代码应该是这样的:
dtc$find('{
"payload.fields.MDI_CC_DIAG_DTC_LIST" : {
"$exists" : true
},
"payload.asset" : {
"$exists" : true
}
}')https://stackoverflow.com/questions/60884511
复制相似问题