R编程中的Mongodb文本搜索

时间:2018-10-08 12:06:11

标签: r mongodb mongolite

我使用R编程创建了MongoDB文本索引。

library(mongolite)
library(jsonlite)
  mn <- mongo(collection = "collname", db = "dbname", url = "mongodb://localhost:27017" )

mn$index(toJSON(list("title" = "text"), auto_unbox = TRUE))

我正在尝试在R中针对以下代码进行MongoDB文本搜索。

 mn$find(toJSON(list("$text" = list("$search" = "STORAGE")), auto_unbox = TRUE))

但是,我得到的输出为“具有0列和0行的数据框”。我该怎么做才能获得正确的输出?

1 个答案:

答案 0 :(得分:0)

在不查看数据的情况下很难找到错误。

但是,这个例子对我有用

library(mongolite)

m <- mongo(db = "mtcars", collection = "mtcars")

m$insert(mtcars)

m$index('{"_row":"text"}')

m$find( '{"$text":{"$search":"Mazda"} }')

# mpg cyl disp  hp drat    wt  qsec vs am gear carb
# Mazda RX4 Wag  21   6  160 110  3.9 2.875 17.02  0  1    4    4
# Mazda RX4      21   6  160 110  3.9 2.620 16.46  0  1    4    4

类似地,从列表构造JSON查询也可以

m$find( toJSON(list("$text" = list("$search" = "Mazda") ), auto_unbox = T) )

# mpg cyl disp  hp drat    wt  qsec vs am gear carb
# Mazda RX4 Wag  21   6  160 110  3.9 2.875 17.02  0  1    4    4
# Mazda RX4      21   6  160 110  3.9 2.620 16.46  0  1    4    4