MySQL Forums
Forum List  »  Announcements

MySQL Connector/Node.js 8.0.21 has been released
Posted by: Gipson Pulla
Date: July 13, 2020 05:51AM

Dear MySQL users,

MySQL Connector/Node.js is a new Node.js driver for use with the X
DevAPI. This release, v8.0.21, is a maintenance release of the
MySQL Connector/Node.js 8.0 series.

The X DevAPI enables application developers to write code that combines
the strengths of the relational and document models using a modern,
NoSQL-like syntax that does not assume previous experience writing
traditional SQL.

MySQL Connector/Node.js can be downloaded through npm (see
  https://www.npmjs.com/package/@mysql/xdevapi for details) or from
  https://dev.mysql.com/downloads/connector/nodejs/.

To learn more about how to write applications using the X DevAPI, see
  http://dev.mysql.com/doc/x-devapi-userguide/en/.
For more information about how the X DevAPI is implemented in MySQL
Connector/Node.js, and its usage, see
  http://dev.mysql.com/doc/dev/connector-nodejs/.

Please note that the X DevAPI requires at least MySQL Server version
8.0 or higher with the X Plugin enabled. For general documentation
about how to get started using MySQL as a document store, see
  http://dev.mysql.com/doc/refman/8.0/en/document-store.html.


Changes in MySQL Connector/Node.js 8.0.21 (2020-07-13, General Availability)

Functionality Added or Changed


     * Creating a collection now supports options to enable
       validation of a JSON schema that documents must adhere to
       before they are permitted to be inserted or updated. The
       new ModifyCollection method allows updating the schema of
       an existing collection. In the createCollection method,
       the option to re-use an existing collection was renamed
       from ReuseExistingObject to reuseExisting.
       Schema validation is performed by the server, which
       returns an error message if a document in a collection
       does not match the schema definition or if the server
       does not support validation.
       If a given collection already exists in the database, the
       createCollection fails unless the reuseExisting property
       is enabled in an additional options object such as the
       following example:
const mysqlx = require('@mysql/xdevapi');

mysqlx.getSession('mysqlx://localhost:33060')
    .then(sesion => {
        return session.getSchema('mySchema').createCollection('myColle
ction', { reuseExisting: true })
    });

       You can also use the options object to, for example,
       create a server-side document validation schema. For
       that, you can include a schema property matching a valid
       JSON schema definition within an outer validation object.
       You should also include the level property where STRICT
       enables it and OFF disables it. For example:
const mysqlx = require('@mysql/xdevapi');
const validation = { schema: { type: 'object', properties: { name: { t
ype: 'string' } } }, level: mysqlx.Schema.ValidationLevel.STRICT };

mysqlx.getSession('mysqlx://localhost:33060')
    .then(sesion => {
        return session.getSchema('mySchema').createCollection('myColle
ction', { validation })
    });

       The same level property logic applies to
       modifyCollection. Here's an example to enable a JSON
       schema on an existing collection (or to update it if it
       already exists) using the STRICT validation level:
const mysqlx = require('@mysql/xdevapi');
const validation = { schema: { type: 'object', properties: { name: { t
ype: 'string' } } }, level: mysqlx.Schema.ValidationLevel.STRICT };

mysqlx.getSession('mysqlx://localhost:33060')
    .then(sesion => {
        return session.getSchema('mySchema').modifyCollection('myColle
ction', { validation })
    });

Bugs Fixed


     * Row values for columns of type BIGINT were not correctly
       decoded by Connector/Node.js. Upgrading the
       google-protobuf library (to 3.11.4) fixed this problem.
       (Bug #27570685)
			 
On Behalf of MySQL/ORACLE RE Team
Gipson Pulla

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL Connector/Node.js 8.0.21 has been released
1138
July 13, 2020 05:51AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.