2017-02-22 3 views
-2

私の仮想マシンは常にクエリ用の空のポインタを返します。サーバーやコードに問題がありますか?この単純なpymongoコードで何が問題なのか理解できません

マイコード:

Code

私の仮想マシンの画面:

詳細なしvirtual machine

+2

には、常にあなたの質問には書式付きコードが含まれていますが、スクリーンショットは含まれていません。他の人が試してデバッグするのに役立ちます。 –

+0

http://api.mongodb.com/python/current/tutorial.htmlをスクロールしてください - 私はあなたの質問に答えると信じています。具体的には、「複数のドキュメントのクエリ」を参照してください。 – wazy

+0

@wazy:何か間違ったことはありますか?私はudemyに従っていた。comチュートリアルビデオ、私はビデオの男とまったく同じコードを書こうとしました。しかし、私が実行すると結果が得られない –

答えて

0

、これは私がコードから理解することができるものです:あなたは

ですクライアントのインスタンス化:

client = pymongo.MongoClient(url) 

2番目のスクリーンショットでは、これはうまくいくと思います。あなたのクライアントのために利用可能なデータ拠点の一つになっている

は:

db = client["fullstack"] 

これは、潜在的な問題である可能性があります。あなたは "フルスタック"データベースを持っていますか?たぶんそれは "フルスタック"または同様のものと呼ばれる?

デフォルトでは、 "fullstack"データベースを持っていないと、mongoはそれを "作成"します(これは適切な用語ではありません)。mongoシェルではuse fullstackと同じです。 "fullstack"データベースを持っていると機能し、そのデータベースと対話することができますが、このデータベースに何もしないと、切断すると消滅します)

コレクションにアクセスする。

もう一度、dbと同じ問題。それが「学生」ではなく「学生」であることを確認してください。また、実際にレコードがあることを確認してください。

私のような何かをアドバイスですが:

collection.insert_one({'test': 'record'})

これは、あなたが実際にそこに何かを持っていることを確認することです。

あなたのような何かをすることによって、後でそれを削除できます。また、カーソルを反復処理すると、カーソルを消費

collection.remove({'test': 'record'})

。あなたが再利用できるリストで、メモリ内で、すべてのレコードを保持します

records = [record for record in collection.find({})] 

この:あなたは数百万レコードを持っていないので、あなたのような何かを行うことができます。

希望すると便利です。

関連する問題