Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby MongoDB返回空数组_Ruby_Mongodb_Sinatra - Fatal编程技术网

Ruby MongoDB返回空数组

Ruby MongoDB返回空数组,ruby,mongodb,sinatra,Ruby,Mongodb,Sinatra,我有一个MongoDB,它会把记录吐到网页上 require 'mongo' require 'json' connection = Mongo::Connection.new db = connection.db("salemDB") db = Mongo::Connection.new.db("salemDB") newsCollection = db["news"] require 'sinatra' set:port, 2222 get '/' do redirect 'in

我有一个MongoDB,它会把记录吐到网页上

require 'mongo'
require 'json'

connection = Mongo::Connection.new
db = connection.db("salemDB")
db = Mongo::Connection.new.db("salemDB")
newsCollection = db["news"]

require 'sinatra'
set:port, 2222
get '/' do
    redirect 'index.html'
end

get "/checkMail" do
  newsCollection.find_one({}, {}).to_a.to_json
end

get "/:id" do
 newsCollection.find("_id" => params[:id]).to_a.to_json
end
/checkmail会输出此信息

(为阅读乐趣而格式化)

/50880c8564a15e2631000001输出此

[]

为什么它不把我的对象还给我?

这是因为id实际上不是字符串或整数,而是一个
BSON::ObjectId
,所以您必须使用其中一个进行查询

这应该行得通

newsCollection.find("_id" => BSON::ObjectId(params[:id])).to_a.to_json
newsCollection.find("_id" => BSON::ObjectId(params[:id])).to_a.to_json