5

有没有办法在 RMongo 中使用 ObjectId 进行查询?

就像是:

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

也许通过导入 bson 库?

4

3 回答 3

2

RMongo 的dbGetQuery()函数期望提供的查询字符串使用 MongoDB 扩展 JSON 语法

MongoDB 扩展 JSON 等效ObjectId("<id>"){ "$oid": "<id>" }

 results <- dbGetQuery(mongo, "users", "{'_id': { '$oid': '5158ce108b481836aee879f8' }}")
于 2015-09-14T07:04:57.367 回答
1

试试新的 mongolite 包:

library(mongolite)
m <- mongo("users")
m$find('{"_id":{"$oid":"5158ce108b481836aee879f8"}}')
于 2015-05-10T05:50:05.377 回答
0

mongo.oid.from.string {rmongodb}

从字符串创建一个 mongo.oid 对象 包:rmongodb 版本:1.5.3 描述 从一个 24 个字符的十六进制字符串创建一个表示 MongoDB 对象 ID 的 mongo.oid 对象。

用法 mongo.oid.from.string(hexstr) 参数 hexstr (string) 代表 OID 的 24 个十六进制字符。注意,虽然长度不是24会报错,但如果字符不是十六进制数字就不会报错;对于无效数字,您将获得零位。

详情见http://www.mongodb.org/display/DOCS/Object+IDs

价值观

于 2015-05-08T21:40:12.470 回答