質問

クエリすることは可能ですか? 終えた 単一の検索仕様を使用したdbref?

ユーザーコレクション

{
    'age': 30
}

ポストコレクション

{
    'user': DBRef('user', ...)
}

すべての投稿をクエリすることは可能ですか?そうでない場合、マルチステージ操作を処理するためにJavaScript関数を作成するのが賢明でしょうか、それともブロックの問題を引き起こすでしょうか?

役に立ちましたか?

解決

それをすることはできません。どちらかをお勧めします:

a)すべてのデータが単一のドキュメントにあるようにデータモデルを変更します(ケースによっては不可能かもしれません)。

b)最初に30であるユーザーをクエリし、次に2番目のクエリを実行して、ユーザーがそのリストにある投稿を取得します。サーバー側のJSなどを使用するのではなく、このクライアント側を行います。

他のヒント

私はPythonドライバーを使用しているので、それほど多くない構文を許してください:

users = list(db.Users.find({'Age':30}))
posts = list(db.Posts.find({'User':{'$in':users}}))

Pythonをインストールします Bson パッケージ。例として試してください。

import pymongo
from pymongo import MongoClient
from bson.dbref import DBRef

client = MongoClient('ip', 27017)

client.the_database.authenticate('user', 'password', source='db_name')
db = client['db_name']
user = db['user']
user_id = user.find_one({'email': 'xxxxx@gmail.com'}).get('_id')

client_user_relation = db['client_user_relation']
print(client_user_relation.find_one())
print(user_id)
print(DBRef(collection = "user", id = user_id))
print(client_user_relation.find_one({'user': DBRef(collection = "user", id = user_id)}))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top