微服务moleculer03

  1. Moleculer 目前支持SQLite,MySQL,MariaDB,PostgreSQL,MSSQL等数据库,这里以mysql为例

  2. package.json 增加mysql依赖

复制代码
"mysql2": "^2.3.3",
"sequelize": "^6.21.3",
"moleculer-db-adapter-sequelize": "^0.2.15",
"moleculer-db": "^0.8.24",
复制代码
npm install moleculer-db-adapter-sequelize sequelize --save
npm install moleculer-db --save

3.然后执行对应数据库的命令

复制代码
SQLite
 npm install sqlite3 --save

# For MySQL
npm install mysql2 --save

# For MariaDB
npm install mariadb --save

# For PostgreSQL
 npm install pg pg-hstore --save

# For MSSQL
$npm install tedious --save
复制代码
4.服务增加如下操作:
复制代码
const { ServiceBroker } = require("moleculer");
const DbService = require("moleculer-db");
const SqlAdapter = require("moleculer-db-adapter-sequelize");
const Sequelize = require("sequelize");
const broker = new ServiceBroker();
/**
 * @typedef {import('moleculer').ServiceSchema} ServiceSchema Moleculer's Service Schema
 * @typedef {import('moleculer').Context} Context Moleculer's Context
 */

broker.createService({
	name: "products",
	mixins: [DbService],
	adapter: new SqlAdapter('test', 'root', 'root', {
		host: 'localhost',
		dialect: 'mysql' ,
		pool: {
			max: 5,
			min: 0,
			idle: 10000
		}
	}),
	model: {
		name: "products",
		define: {
			title: Sequelize.STRING,
			content: Sequelize.TEXT,
			votes: Sequelize.INTEGER,
			author: Sequelize.INTEGER,
			status: Sequelize.BOOLEAN
		},
		options: {

		}
	},
});


broker.start()
	// Create a new post
	.then(() => broker.call("products.create", {
		title: "My first post",
		content: "Lorem ipsum...",
		votes: 0
	}))
	.then(() => broker.call("products.find").then(console.log));
复制代码
5.启动项目: 数据库自动创表products,并插入了一条数据,可以查询出来

6.具体的crud 可以参考Sequelize | Feature-rich ORM for modern TypeScript & JavaScript 实现,这里就不详细介绍了

相关推荐
白帽攻防录2 小时前
SRC 挖洞:Roundcube 预认证 SQL 注入深度复盘,CVE-2026-48842 preg_replace 转义绕过怎么打穿邮件系统
网络·数据库·sql·网络安全·sql注入
꯭自꯭闭꯭2 小时前
达梦SQL优化相关
linux·运维·数据库·sql
对空六课2 小时前
支持注意力分析的热力图工具有哪些?
前端·数据库·数据分析
南京码讯光电技术有限公司3 小时前
How to Design an Antenna System for an Industrial WiFi Module
数据库·人工智能
lusklusklusk4 小时前
Oracle数据库基础之2_体系结构
数据库·oracle
可乐ea4 小时前
从第一性原理构建 AI Agent:提示词、工具、技能与记忆全解剖
数据库·人工智能·工具调用·ai智能体·提示词工程·agent开发·智能体记忆
东方护航数据恢复(深圳)4 小时前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘
lusklusklusk5 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
PHP实战开发录7 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
红红谈说8 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大