JavaScript and MySQL
Last time I looked at using the new MySQL Shell in JavaScript mode to access documents. I promised that I would look at indexes this time but a few folks wanted to see how to use the MySQL Document Store with Javascript -- the language not the MySQL Shell mode-- specifically with the Node.JS connector. And they ask for a very simple example. So Indexes in the future, Node.JS now.So this is a simple on using the MySQL Document Store from Node.JS.
Install
Download the Node.JS connector and then follow the very simple installation instructions. And use your OS's instictions for installing Node.JS.The documentation on using the Node.JS Connector with the XDevAPI is not written for folks just starting with either the API or Node.JS.
Example
const mysqlx = require('@mysql/xdevapi'); mysqlx.getSession({ // Create session host: 'localhost', port: '33060', dbUser: 'root', dbPassword: 'Hell0Dave!' }).then(function (session) { // USE world_x var schema = session.getSchema('world_x'); //equivilent of SELECT doc FROM countryinfo where _id = 'USA' var coll = schema.getCollection('countryinfo'); var query = "$._id == 'USA'"; // Print doc coll.find(query).execute(function (doc) { console.log(doc); }) .catch(function (err) { console.log(err.message); console.log(err.stack); }); session.close(); }).catch(function (err) { console.log(err.message); console.log(err.stack); });
Output
node countryinfo.js { GNP: 8510700, _id: 'USA', Name: 'United States', IndepYear: 1776, geography: { Region: 'North America', Continent: 'North America', SurfaceArea: 9363520 }, government: { HeadOfState: 'George W. Bush', GovernmentForm: 'Federal Republic' }, demographics: { Population: 278357000, LifeExpectancy: 77.0999984741211 } }