1

想在 R 中使用 mongolite 从 mongodb 查询多个 id。

与此代码等效的内容,但在 R 中(来源:How to get multiple document using array of MongoDb id?)。

db.feed.find({
  "_id" : {
    "$in" : 
      [ObjectId("55880c251df42d0466919268"), 
       ObjectId("55bf528e69b70ae79be35006")
      ]
   }
});

我试过这个,但它显示错误:

library( mongolite )

chap_rslt_collectn = mongo( 'chapterresults', db = my_db_name, verbose = T, url = my_mongo_url )


tt = chap_collectn$find( "_id" : { "$in" : {'$oid': "5eb32a19c25a56031bdec249", "5e8a5301266dd92b6b96a4f0"} } )

得到这样的错误:

> tt = chap_collectn$find( "_id" : { "$in" : {'$oid': "5eb32a19c25a56031bdec249", "5e8a5301266dd92b6b96a4f0"} } )
Error: unexpected ',' in "tt = chap_collectn$find( "_id" : { "$in" : {'$oid': "5eb32a19c25a56031bdec249","
4

1 回答 1

2

试试下面的代码。运算符$oid,类似于ObjectId()mongo,必须应用于每个 ID

qry <- '{"_id" :{"$in": [{"$oid":"5eb32a19c25a56031bdec249"},{"$oid":"5e8a5301266dd92b6b96a4f0"}]}}'
tt = chap_collectn$find(query = qry)
于 2020-07-19T20:22:24.340 回答