1

我使用 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 行的数据框”。我该如何做才能正确输出?

4

1 回答 1

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
于 2018-10-08T21:57:41.693 回答