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
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.
Represents the options for the
findOneAndDelete
command.Field
sort - The sort order to pick which document to delete 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.findOneAndDelete