SurrealDB
SurrealDB Docs Logo

Enter a search query

Navigation

set()

Assigns a value as a parameter for this connection.

Method Syntax
db.set(key, value)

This is equivalent to using a LET statement in SurrealQL, such as this one.

LET $name = { first: "Tobie", last: "Morgan Hitchcock", };

Arguments

ArgumentDescription
key

Specifies the name of the variable.

val

Assigns the value to the variable name.

Example usage

use surrealdb::Surreal; use surrealdb::engine::remote::ws::Ws; use surrealdb::opt::auth::Root; use surrealdb_types::SurrealValue; #[derive(Debug, SurrealValue)] struct Name { first: String, last: String, } #[tokio::main] async fn main() -> surrealdb::Result<()> { let db = Surreal::new::<Ws>("127.0.0.1:8000").await?; db.signin(Root { username: "root".to_string(), password: "secret".to_string(), }) .await?; db.use_ns("main").use_db("main").await?; // Assign the variable on the connection db.set( "name", Name { first: "Tobie".to_string(), last: "Morgan Hitchcock".to_string(), }, ) .await?; // Use the variable in a subsequent query let create = db.query("CREATE person SET name = $name").await?; dbg!(create); // Use the variable in a subsequent query let select = db .query("SELECT * FROM person WHERE name.first = $name.first") .await?; dbg!(select); Ok(()) }

See also