How to query through a DBRef in MongoDB/pymongo? How to query through a DBRef in MongoDB/pymongo? mongodb mongodb

How to query through a DBRef in MongoDB/pymongo?


it's not possible to do that. i would recommend either:

a) changing your data model so that all of the data is in a single document (might not be possible depending on your case).

b) querying for users who are 30 first, and then doing a second query to get posts where user is $in that list. i would do this client side rather than using server-side JS or anything like that.


I use a Python driver, so forgive my not-so-mongodb syntax:

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


Install python bson package. and try as example.

import pymongofrom pymongo import MongoClientfrom bson.dbref import DBRefclient = 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)}))