我使用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行的数据框”。我该怎么做才能获得正确的输出?
答案 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