Optional
maxThis temporary error-ing property exists for migration convenience, and will be removed in a future version.
maxTimeMS
option is no longer available; the timeouts system has been overhauled, and timeouts should now be set using timeout
, and defaults in timeoutDefaults
. You may generally Ctrl+R replace maxTimeMS
with timeout
to retain the same behavior.Optional
projectionSpecifies which fields should be included/excluded in the returned documents.
If not specified, all fields are included.
When specifying a projection, it's the user's responsibility to handle the return type carefully, as the projection will, of course, affect the shape of the returned documents. It may be a good idea to cast the returned documents into a type that reflects the projection to avoid runtime errors.
interface User {
name: string;
age: number;
}
const collection = db.collection<User>('users');
const doc = await collection.findOne({}, {
projection: {
_id: 0,
name: 1,
},
vector: [.12, .52, .32],
includeSimilarity: true,
}) as { name: string, $similarity: number };
// Ok
console.log(doc.name);
console.log(doc.$similarity);
// Causes type error
console.log(doc._id);
console.log(doc.age);
Optional
returnSpecifies whether to return the document before or after the update.
Set to before
to return the document before the update to see the original state of the document.
Set to after
to return the document after the update to see the updated state of the document immediately.
Defaults to 'before'
.
'before'
Optional
sortThe order in which to apply the update if the filter selects multiple documents.
If multiple documents match the filter, only one will be updated.
Defaults to null
, where the order is not guaranteed.
null
Optional
timeoutThe method timeout override.
See TimeoutDescriptor for much more information.
Optional
upsertIf true, perform an insert if no documents match the filter.
If false, do not insert if no documents match the filter.
Defaults to false.
false
Optional
vectorThis temporary error-ing property exists for migration convenience, and will be removed in a future version.
sort: { $vector: [...] }
instead.Optional
vectorizeThis temporary error-ing property exists for migration convenience, and will be removed in a future version.
sort: { $vectorize: '...' }
instead.
Represents the options for the
findOneAndReplace
command.Field
returnDocument - Specifies whether to return the original or updated document.
Field
upsert - If true, perform an insert if no documents match the filter.
Field
sort - The sort order to pick which document to replace if the filter selects multiple documents.
Field
projection - Specifies which fields should be included/excluded in the returned documents.
Field
timeout - The timeout override for this method
See
Collection.findOneAndReplace