这是您在 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/