Querying RMongo with ObjectId

2019-02-14 23:54发布

Is there a way to query in RMongo with an ObjectId?

Something like:

results <- dbGetQuery(mongo, "users", "{'_id': 'ObjectId('5158ce108b481836aee879f8')'}")

Perhaps by importing a bson library?

标签: r rmongo
3条回答
ら.Afraid
2楼-- · 2019-02-15 00:33

RMongo's dbGetQuery() function is expecting MongoDB Extended JSON syntax for the provided query string.

The MongoDB Extended JSON equivalent of ObjectId("<id>") is { "$oid": "<id>" }:

 results <- dbGetQuery(mongo, "users", "{'_id': { '$oid': '5158ce108b481836aee879f8' }}")
查看更多
Evening l夕情丶
3楼-- · 2019-02-15 00:42

Try the new mongolite package:

library(mongolite)
m <- mongo("users")
m$find('{"_id":{"$oid":"5158ce108b481836aee879f8"}}')
查看更多
够拽才男人
4楼-- · 2019-02-15 00:52

mongo.oid.from.string {rmongodb}

Create a mongo.oid object ftom a string Package: rmongodb Version: 1.5.3 Description Create from a 24-character hex string a mongo.oid object representing a MongoDB Object ID.

Usage mongo.oid.from.string(hexstr) Arguments hexstr (string) 24 hex characters representing the OID. Note that although an error is thrown if the length is not 24, no error is thrown if the characters are not hex digits; you'll get zero bits for the invalid digits.

Details See http://www.mongodb.org/display/DOCS/Object+IDs

Values

查看更多
登录 后发表回答