mysqloose v1.3.1
mysqloose
This is similar to mongoose but for mysql
warning: Don not use this in real project, it is unstable
Installation
You need: Node.js installed on your machine.
To install
$ npm i mysqloose
Importing
const mysqloose = require("mysqloose");
Important: Turn on mysql server before using
Overview
Connecting to MySQL
First, we need to define a connection.
mysqloose.connect(
"mysql://<user>:<password>@<hostname>/<database_name>",
(err) => {
if (err) throw err;
}
);
Defining a Model
Models are defined through the Schema interface. Unlike mongoose, you can not define a model without mysqloose.connect
mysqloose.connect(
"mysql://<user>:<password>@<hostname>/<database_name>",
(err) => {
if (err) throw err;
}
);
const Schema = mysqloose.Schema;
const UserSchema = new Schema({
id: 'INT NOT NULL AUTO_INCREMENT PRIMARY KEY' // mysqloose do not have ObjectId yet
user_name: 'VARCHAR(40) NOT NULL',
email: 'VARCHAR(255) NOT NULL',
password: 'varchar(60) not null' // Case-insensitive
user_type: 'varchar(5) default "user"'
});
Accessing a Model
const User = mongoose.model("ModelName", UserSchema);
const newUser = new User({
user_name: "user name",
email: "email",
password: "password",
});
Insert
newUser.save((err) => {
if (err) throw err;
});
Select
Synchronous
User.find({ name: "name" }, (err, result) => {
if (err) throw err;
console.log(result);
});
// Must use {<somethingId>: <number>}
User.findById({ id: 1 }, "name email", (err, result) => {
if (err) throw err;
console.log(result);
});
User.findOne({ name: "name" }, (err, result) => {
if (err) throw err;
console.log(result);
});
Asynchronous
User.find({ name: "name" })
.then((result) => {
console.log(result);
})
.catch((err) => {
if (err) throw err;
});
User.findById({ id: 1 }, "name email")
.then((result) => {
console.log(result);
})
.catch((err) => {
if (err) throw err;
});
User.findOne({ name: "name" })
.then((result) => {
console.log(result);
})
.catch((err) => {
if (err) throw err;
});
Update
User.updateOne({ name: "name" }, { email: "new email" }, (err, result) => {
if (err) throw err;
console.log(result);
});
Delete
User.deleteOne({ name: "name" }, (err, result) => {
if (err) throw err;
console.log(result);
});
Model API
create( object, callback)
find( object, string, callback )
findOne( object, string, callback )
findOneAndUpdate( object, object, callback )
findOneAndDelete(object, callback )
findById( object, string, callback )
findByIdAndUpdate( object, object, callback )
findByIdAndDelete( object, callback )
updateOne( object, object, callback )
updateMany( object, object, callback )
deleteOne( object, callback)
deleteMany( object, callback)