1 2 3 4 5 6 7 8 9 10 11 12
use mongodb::{error::Result, bson::Document, results::UpdateResult, options::{UpdateModifications, UpdateOptions}};
use crate::Collection;
impl<T> Collection<T> {
pub async fn upsert(&self, query: Document, update: impl Into<UpdateModifications>) -> Result<UpdateResult> {
let options = UpdateOptions::builder()
.upsert(true)
.build();
self.collection.update_one(query, update, options).await
}
}