SurrealDB is an innovative, multi-model, cloud-ready database, suitable for modern and traditional applications. Its versatility, and focus on developer experience, along with the ability for deployment on cloud, on-premise, embedded, and in edge computing environments, allows developers and organisations to meet the needs of their applications, without needing to worry about scalability or keeping data consistent across multiple different database platforms.
It would be super helpful if you included the table definition with the syntax. I'm having a hard time wrapping my head around the last example. How does surreal know to match the Products with the supplier id? Does it just automatically infer because Products happens to have a record<Suppliers> type in the schema? Is that field named "Suppliers" ?
Hi, thanks for the helpful feedback. We'll keep that in mind for next time. You're right that the Products table would have a field named Suppliers that contains the Record ID of the Supplier table. It could be schemaless or have a strict schema of record<Suppliers>.
ah looking at it again it's 5th in 2023 and was 4th in 2022 when I initially started working with Kings. It's the ShanghaiRanking for medical technology. A fair number of academics I knew from Oxford, Imperial, and UCL moved over the Kings when it got awarded the London centre of bioengineering status due to it's massive amounts of funding and brand new robotics and surgical suites. ShanghaiRanking began to publish world university ranking by academic subjects in 2009. By introducing improved methodology, the Global Ranking of Academic Subjects (GRAS) was first published in 2017. The 2023 GRAS contains rankings of universities in 55 subjects across Natural Sciences,Enginering, Life Sciences, Medical Sciences, and Social Sciences. More than 1,900 out of 5,000 universities across 104 countries and regions are finally listed in the rankings. The GRAS rankings use a range of objective acadamic indicators and third-party data to measure the performance of world universities in respective subjects, including research output (Q1), research influence(CNCl), international collaboration (IC), research quality (Top), and international academic awards (Award). The index of international academic awards is based on Academic Excellence Survey (AES) conducted by ShanghaiRanking since 2017. Until April 2023, 1447 professors have participated in the survey. They are from 122 universities, and 21 countries/regions, covering 64 subjects. The results reveal 121 top journals in 43 subjects, 36 top awards in 29 subjects, and 31 top conferences for Computer Science & Engineering.
Hi, thanks for the comment. This functionality was omitted from version 2, however if you would like to see it brought back feel free to open a feature request on our GitHub.
in this command: CREATE |person:1..10|; what is the name of this: ______ |______:1..10| what term or name should I look for in the surrealdb documentation about this? the doc about CREATE does not talk about this directly (only implicitly) I tried things like RETURN |person:1..10| the connection is closed abruptly surrealdb v1.5.3
Hi Jeudi, thanks for your question. It would appear this is related to the earlier question. This is undocumented syntax, we call them a "Model". It's mostly used for testing purposes to quickly create a lot of demo data to work with on the fly.
I would love to know more about: "CREATE |person:1..10|;" I tested it here, I understand how it works, but I wonder where I could use it and I don't know and in what other ways I could use it in conjunction with other things and I also don't know. Could I create a name together with the IDs? Example: name 1, name 2, name 3, ... Could I from a |person:1..10|, make an http request and persist the result (json) in surrealdb? If you have more to share and talk about, please: share your wisdom with us!
Hi Jeudi, thanks for your question. This is undocumented syntax, we call them a "Model". It's mostly used for testing purposes to quickly create a lot of demo data to work with on the fly.
3:43 In the join example, in traditional SQL, you wouldn't use a left join where Products may be `null` (making your `where` clause `false`). You would instead use an inner join.
In traditional SQL, you would use `where exists` without limit. The limit is implicit in the `exists` clause. One existing will ever be enough, and the database is smart enough not to allocate a full result set.
Thank you for your message, @karinkuto5540. We are actively working on it. You can follow the progress here - github.com/surrealdb/surrealist/issues/276
Of course! check out the repository here: github.com/surrealdb/examples/tree/main/notes-v2 Here's the blog for the same: surrealdb.com/blog/surreal-stickies-2-0-adding-graph-relations-live-queries-and-authentication
Hey man, I have a question. For the last query you had written, along with what products where purchased at the end can we get also how many times those products were purchased? How would you modify the query for that?
My first instinct would be to do this: SELECT array::len(->order->product<-order<-person->order->product) AS number_of_products, ->order->product<-order<-person->order->product.name AS product_names FROM person:00g8os512h0k7l19p05g Since array::len is not an agg function just gets the length of the products array it doesn't need a group by and you can get both in one query. If you'd need to use an agg function I'm pretty sure you'd need to do two queries, one for the agg function and one for non agg product list.
Too much distraction. Just create a simple video, no 3 people. 1 person talks, slowly and without accent, without this stupid "write in chat and win a hoodie" wtf is this shit? marquee. I'm not native English, it's very hard to understand this accent. Creates a table, creates related table, defines relationships.creates user and permissions. A blog is always a good starter demo project. Blog with Posts, Comments and Reactions and Profiles. What about user signup and forgot password? I'm already annoyed.
Hi, thanks for your comment and feedback. We're sorry that you weren't able to follow along completely with this tutorial. This video was produced some time ago and since then we have changed our approach and set-up to how we deliver our video tutorial content. Here’s a great guide for getting started with SurrealDB which you might find useful: surrealdb.com/docs/surrealdb/introduction/start
I'm new to SurrealDB, and it took me a while to figure out how to install it on Windows. I wish the tutorials here and on the site were clearer. I couldn't figure out what to do with the downloaded script from the GitHub page. I eventually installed this using Windows PowerShell (not Command Prompt), and that seemed to work. Forgive me if this is a dumb question, but is there a command to change the installation path? I don't want stuff in my C drive by default, unless they have to be. I try to keep that dedicated to my operating system as much as possible, and put my other programs onto a different drive.
Hi, thanks for your question. SurrealDB represents table names and IDs using record IDs (surrealdb.com/docs/surrealdb/surrealql/datamodel/ids), which act as identifiers. Since each table has this unique identifier, In SurrealDB, you can link tables to other tables using the RecordIDs by passing them as values to fields. So, in the example, we have linked to the Manager_directory table from the IC_directory table by adding the particular manager's record ID (The table name is separated from the record identifier by a: character.) i.e: Manager_directory:janesmith in the manager field.
Hey SurrealDB people. It's not cool that you deleted and turned off the comments on the WomenInRust video. Yeah, you got pushbacks cause people don't like when tech companies shove their agendas down people's throats. The fact that you deleted them and you silenced us speaking against it is an attack on free speech. Too bad that's how you manage your company. It says a lot about you and how you conduct business. That's lame.
I'm working with SurrealDB in my Rust Actix-web project and have found it mostly enjoyable once able to spin up a Docker container. There was a permissions issue when creating a file for the database though. These videos are helpful learning about features and syntax. I would like to learn how to deploy on digital ocean 😊
It’s like they went through all the wishlist of what the perfect database might look like, then declare “we did it” on each one. Isn’t this too good to be true? My dev team will take the leap and try surreal on some of our new projects.
Thanks for the insight regarding your dev team planning on trying SurrealDB out for some of your new projects. Do let us know how you get on and reach out with any questions you have during the process.
Hi, thanks for the comment and your suggestion. Could you please elaborate a little on what ORM-like features you are exactly looking for? We are constantly working on improving our SDKs and you could also check out Surrealist which is our official database management interface: surrealdb.com/surrealist
@@SurrealDB Hi, I am a C# developer and I am also practicing with Rust. At the ideal level, a whole entity framework implementation for C# would be amazing. But if not possible, it would be nice to have a similar alternative so we don't have to pass sql as string for complex queries and have better safety and overal experience. There is also features which I believe is only available in Rust SDK but not in other languages (bulk inserts for example). And yes, I use surrealist . I love it.
@@mukhlimkurowo For C# we currently have a community managed SDK. Feel free to add your input on related issues here: github.com/surrealdb/surrealdb.net/issues/61 Here for a complete ORM: github.com/surrealdb/surrealdb.net/issues/10 Thanks!
@@armanradan For C# we currently have a community managed SDK. Feel free to add your input on related issues here: github.com/surrealdb/surrealdb.net/issues/61 Here for a complete ORM: github.com/surrealdb/surrealdb.net/issues/10 Thanks!
Great info, though the audio could be better. It sounds like the instructor's microphone gain was poor and the volume level later normalized in post-production, leaving the speech 'forced' and not clear and crisp.
Hi, thanks for your comment. Please check out this video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-zwQwKvMa9sU.htmlsi=uFyXSY6OkQn2riE6. Do let us know if you have any other questions.
Hi, thank you for your question and comment. If you delete both the nodes then the edge will be automatically deleted, but if just one node is deleted the edge will still be there.
Hi, thank you for your feedback. We have noted your suggestion which has been fed into our team. In the mean-time please check out our blogs section and guides around authentication: surrealdb.com/docs/surrealdb/tutorials/integrate-auth0-as-authentication-provider