データベースにSinatra、backbone.js、mongodbを使用するこのチュートリアルで遊んでいます。mongoを使うのは初めてです。私が理解している限り、アプリはローカルストレージとデータベースの両方を使用します。データベースへのこれらのルートがあります。たとえば、これらのルートがあります
get '/api/:thing' do
DB.collection(params[:thing]).find.to_a.map{|t| from_bson_id(t)}.to_json
end
get '/api/:thing/:id' do
from_bson_id(DB.collection(params[:thing]).find_one(to_bson_id(params[:id]))).to_json
end
post '/api/:thing' do
oid = DB.collection(params[:thing]).insert(JSON.parse(request.body.read.to_s))
"{\"_id\": \"#{oid.to_s}\"}"
end
サーバーの電源をオフにしてからオンにした後、サーバーでデータベースルートからデータを取得しているのを見ることができました
127.0.0.1 --- [17 / Sep / 2012 08:21:58] "GET / api / todos HTTP / 1.1" 200 430 0.0033
私の質問は、データがデータベースにあるかどうかをmongoシェル内からどのように確認できるかということです。
モンゴシェルを始めました
./bin/mongo
データベースを選択しました 'use mydb'
次に、ドキュメント(http://www.mongodb.org/display/DOCS/Tutorial)を見て、次のようなコマンドを試しました。
> var cursor = db.things.find();
> while (cursor.hasNext()) printjson(cursor.next());
しかし、彼らは何も返しませんでした。