Basic Syntax
db.collection.find({query criteria})
.sort({sort field: sort order})
.skip(rows to skip)
.limit(page size)
Parameter Description
- Sort order: 1 for ascending, -1 for descending
- Skip rows: Calculation formula is
(page - 1) * page size
- Limit count: Specifies number of documents returned per page
- Avoid using large
skip() values on large datasets, which affects performance
- Alternative: Use range queries (such as
_id > last_id) with limit() to implement pagination
- Add indexes on sort fields to improve query efficiency
Data Update
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>
}
)
Update Operators
$set: Sets field value
$unset: Removes field
$inc: Increments field value
$push: Adds element to array
WriteConcern Write Mechanism
{
w: <value>,
j: <boolean>,
wtimeout: <number>
}
w Parameter
w=1 (default): Requires acknowledgment from primary node
w=0: “fire and forget” mode
w=majority: Requires write to majority of nodes
j Parameter
j=true: Requires data to be written to disk journal before returning acknowledgment
wtimeout Parameter
- Sets timeout in milliseconds, returns error if exceeded
Data Deletion
db.collection.remove(
<query>,
{
justOne: <boolean>
}
)