0

我正在尝试通过 R(rmongodb 包)查询 Mongo Db。我有一个简单的要求:

  • 返回字段“email”与向量 usr$email 中的任何电子邮件匹配的记录。我想我已经很接近了,但只是找不到正确的语法来完成它。

我看到了对较早问题(Mongo:如果任何数组位置与单个查询匹配)的回复,并且正在尝试以下内容:

eids_l <- paste0("'", unique(usr$email), "'", collapse=", ")
eids_l1 <- sprintf("[ %s ]", eids_l)
q <- sprintf('{"email": {"$in": %s}}', eids_l1)
cursor <- mongo.find.all(mongo, namespace, buf)

我仍然收到一个错误:

Error in mongo.bson.from.JSON(arg) : 
  Not a valid JSON content: {"email": {"$in": [ 'xx@gmail.com',
4

1 回答 1

1

光标 <- mongo.find.all(mongo, "namespace", query='{ "email": { "$in": ["xx@gmail.com", "yy@gmail.com", "zz@gmail .com" ] } }')

小心使用撇号 (') 和引号 (")。

我总是使用 rmongodb 备忘单:

https://cran.r-project.org/web/packages/rmongodb/vignettes/rmongodb_cheat_sheet.pdf

于 2015-12-08T08:26:26.897 回答