r - 如何使用 rmongodb 通过 ObjectId 查询文档

标签 r mongodb rmongodb

这是您在 mongo shell 中得到的内容:

db.col.find(ObjectId("5571849db1969e0a6eb32731")).pretty()
{   
"_id" : ObjectId("5571849db1969e0a6eb32731"),
    "name" : "Some name",
    "logo" : "Some logo",
    "users" : [
        ObjectId("5571830031c7fc341bc2e105"),
        ObjectId("5571830031c7fc341bc2e107")
    ],
    "admins" : [ ],
    "__v" : 0,
    "steps" : 5782
}

这是我在 rmongo 中得到的内容:

myResult <- mongo.find(Connexion, "db.col", query='ObjectId("5571849db1969e0a6eb32731")')

#Error in mongo.bson.from.JSON(arg) : 
#  Not a valid JSON content: ObjectId("5571849db1969e0a6eb32731")

那么,怎样做才是正确的呢?

以防万一:我查看了 this已经。但是 mongolite 不支持身份验证(因此这是不行的),我不明白如何处理第二个答案。如果我尝试

result <- mongo.find(Connexion, "db.col", query=mongo.oid.from.string("5571849db1969e0a6eb32731"))

我明白

# Error in mongo.bson.from.argument(query) : Can't convert to bson: argument should be one of 'list', 'mongo.bson' or 'character'(valid JSON)

最佳答案

这应该有效:

result <- mongo.find(Connexion, "db.col", query=list('_id' = mongo.oid.from.string("5571849db1969e0a6eb32731")))

关于r - 如何使用 rmongodb 通过 ObjectId 查询文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30894731/

相关文章:

r - 使用 group by、mutate、select 动态命名管道的输出

rmongodb:在查询中使用 $or

python - MongoEngine 返回空列表

javascript - 如何打印 numberlong 值?

r - 使用 rmongodb 将 mongo objectid 转换为字符串

r - 长时间使用 mongo.find.all (rmongodb) 导入数据

r - R 中的作用域和评估函数

r - 如何按时间索引 SpatRaster 对象中的各个图层?

r - 按因子列安全合并数据框

java - Mongodb 聚合(Java/Spring)查询以获取最后一个子元素