- MongoEngine - Discussion
- MongoEngine - Useful Resources
- MongoEngine - Quick Guide
- MongoEngine - Extensions
- MongoEngine - Text Search
- MongoEngine - Signals
- MongoEngine - GridFS
- MongoEngine - Javascript
- MongoEngine - Atomic Updates
- MongoEngine - Document Inheritance
- MongoEngine - Advanced Queries
- MongoEngine - Aggregation
- MongoEngine - Indexes
- MongoEngine - Custom Query Sets
- MongoEngine - Sorting
- MongoEngine - QuerySet Methods
- MongoEngine - Query Operators
- MongoEngine - Filters
- MongoEngine - Querying Database
- MongoEngine - Add/Delete Document
- MongoEngine - Fields
- MongoEngine - Dynamic Schema
- MongoEngine - Document Class
- MongoEngine - Connecting to MongoDB Database
- MongoEngine - Installation
- MongoEngine - Object Document Mapper
- MongoEngine - MongoDB Compass
- MongoEngine - MongoDB
- MongoEngine - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
MongoEngine - QuerySet Methods
The QuerySet object possesses following useful methods for querying the database.
first()
First document satisfying the query is returned. Following code will return first document in products collection, that has price < 20000.
qset=products.objects(price__lt=20000) doc=qset.first() print ( Name: ,doc.Name, Price: ,doc.price)
Output
Name: Router Price: 2000
exclude()
This will cause mentioned fields to be excluded from Query Set. Here, to_json() mehod of Document class is used to obtain JSONified version of Document. ProductID field will not appear in the result.
for product in products.objects.exclude( ProductID ): print (product.to_json())
Output
{"_id": {"$oid": "5c8dec275405c12e3402423c"}, "Name": "Laptop", "price": 25000} {"_id": {"$oid": "5c8dec275405c12e3402423d"}, "Name": "TV", "price": 50000} {"_id": {"$oid": "5c8dec275405c12e3402423e"}, "Name": "Router", "price": 2000} {"_id": {"$oid": "5c8dec275405c12e3402423f"}, "Name": "Scanner", "price": 5000} {"_id": {"$oid": "5c8dec275405c12e34024240"}, "Name": "Printer", "price": 12500}
fields()
Use this method to manipulate which fields to load in the query set. Use field names as keyword arguments and set to 1 to include, 0 to exclude.
for product in products.objects.fields(ProductID=1,price=1): print (product.to_json())
Output
{"_id": {"$oid": "5c8dec275405c12e3402423c"}, "ProductID": 1, "price": 25000} {"_id": {"$oid": "5c8dec275405c12e3402423d"}, "ProductID": 2, "price": 50000} {"_id": {"$oid": "5c8dec275405c12e3402423e"}, "ProductID": 3, "price": 2000} {"_id": {"$oid": "5c8dec275405c12e3402423f"}, "ProductID": 4, "price": 5000} {"_id": {"$oid": "5c8dec275405c12e34024240"}, "ProductID": 5, "price": 12500}
Setting field keyword argument to 0 in fields() method works similar to exclude() method.
for product in products.objects.fields(price=0): print (product.to_json())
Output
{"_id": {"$oid": "5c8dec275405c12e3402423c"}, "ProductID": 1, "Name": "Laptop"} {"_id": {"$oid": "5c8dec275405c12e3402423d"}, "ProductID": 2, "Name": "TV"} {"_id": {"$oid": "5c8dec275405c12e3402423e"}, "ProductID": 3, "Name": "Router"} {"_id": {"$oid": "5c8dec275405c12e3402423f"}, "ProductID": 4, "Name": "Scanner"} {"_id": {"$oid": "5c8dec275405c12e34024240"}, "ProductID": 5, "Name": "Printer"}
only()
Effect of this method is similar to fields() method. Fields corresponding to keyword arguments only will appear in the query set.
for product in products.objects.only( Name ): print (product.to_json())
Output
{"_id": {"$oid": "5c8dec275405c12e3402423c"}, "Name": "Laptop"} {"_id": {"$oid": "5c8dec275405c12e3402423d"}, "Name": "TV"} {"_id": {"$oid": "5c8dec275405c12e3402423e"}, "Name": "Router"} {"_id": {"$oid": "5c8dec275405c12e3402423f"}, "Name": "Scanner"} {"_id": {"$oid": "5c8dec275405c12e34024240"}, "Name": "Printer"}
sum()
This method computes sum of given field in the query set.
average()
This method calculates average of given field in the query set.
avg=products.objects.average( price ) ttl=products.objects.sum( price ) print ( sum of price field ,ttl) print ( average of price field ,avg)
Output
sum of price field 94500 average of price field 18900.0Advertisements