Open go4cas opened 6 years ago
+1 Yeah, this is a key feature, that needs to be added.
is it still open?
Yes, but it won't be implemented in this version of moleculer-db.
Im happy to take a look at implementing this. I don't think it's too difficult but we would need to decide how to change the api for update / find / delete etc.
@icebob do you have any ideas on how the interface should work?
Any news on this?
any workaround? do I need to create 1 service per table and communicate with each other?
with modules moleculer-db moleculer-db-adapter-mongoose
u can make one service with multiple tables like this
const DbService = require("moleculer-db");
const MongooseAdapter = require("moleculer-db-adapter-mongoose");
const { MONGO_DB_URI } = process.env
const User = require("../model/user.model");
const Post = require("../model/post.model");
/*
...
*/
module.exports = {
adapter: new MongooseAdapter(MONGO_DB_URI),
mixins: [DbService],
model: {
User,
Post,
},
// and handle in this service in customHandle action
actions: {
customHandle: {
async handler(ctx) {
const { User, Post } = this.adapter.model;
const [users, posts] = await Promise.all([User.find(), Post.find()]
return { users, posts };
}
}
}
Can we have a sneak peek with what's inside:
const User = require("../model/user.model");
I'm having the same problem. @JS-AK
Is it possible with the sequelize adapter? Maybe show us what's inside the .model
file?
Can we have a sneak peek with what's inside:
const User = require("../model/user.model");
I'm having the same problem. @JS-AK
const mongoose = require("mongoose");
const schema = new mongoose.Schema({
email: {type: String},
firstName: {type: String},
}, {timestamps: true});
module.exports = mongoose.model("User", schema);
At present moleculer-db allows only for a single data model per service. There might be use cases where a service needs to manage multiple data entities (tables in a data schema).
Example: Service: Access Control Service - a service managing role based access control for the stack. Data Entities:
Currently, I would have to create a service for each data entity, i.e.
role-service
,roleGroup-service
,function-service
,roleRunction-service
.Each of these services will then link to the underlying data table, using the
model
property of the service, e.g.:Accessing the model methods:
It would be great if the
model
property could accept an array of model objects. Accessing these from the service, would look something like: