I base on Meteor
with Mongoose
.
- Sechma
const Schema = new Mongoose.Schema({
name: {
type: String,
required: true,
max: 200,
},
gender: {
type: String,
},
status: {
type: String,
},
comId: {
type: String,
required: true,
default: () => {
// get current companyId
return currentComId()
},
index: 1,
},
})
- Method
export const insertEmployee = new ValidatedMethod({
name: 'insertEmployee',
mixins: [CallPromiseMixin],
validate: null,
async run(docs) {
if (Meteor.isServer) {
try {
let res = await Employees.insertMany(docs)
return res
} catch (error) {
console.log(error)
}
}
},
})
I tried to insert data but I got error :
W20200611-11:38:41.266(7)? (STDERR) throw new Error("Meteor code must always run within a Fiber. " +
W20200611-11:38:41.267(7)? (STDERR) ^
W20200611-11:38:41.267(7)? (STDERR)
W20200611-11:38:41.267(7)? (STDERR) Error: Meteor code must always run within a Fiber. Try wrapping callbacks that you pass to non-Meteor libraries with Meteor.bindEnvironment.
W20200611-11:38:41.267(7)? (STDERR) at Object.Meteor._nodeCodeMustBeInFiber (packages/meteor.js:1186:11)
W20200611-11:38:41.267(7)? (STDERR) at Meteor.EnvironmentVariable.EVp.get (packages/meteor.js:1199:10)
W20200611-11:38:41.267(7)? (STDERR) at AccountsServer.userId (packages/accounts-base/accounts_server.js:91:60)
W20200611-11:38:41.267(7)? (STDERR) at AccountsServer.user (packages/accounts-base/accounts_common.js:85:25)
W20200611-11:38:41.267(7)? (STDERR) at Object.Meteor.user (packages/accounts-base/accounts_common.js:305:30)
W20200611-11:38:41.267(7)? (STDERR) at currentComId (imports/api/lib/currentCompany.js:16:3)
W20200611-11:38:41.267(7)? (STDERR) at model.default (imports/api/employees/employees.js:55:14)
W20200611-11:38:41.267(7)? (STDERR) at SchemaString.SchemaType.getDefault (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/schematype.js:887:25)
W20200611-11:38:41.267(7)? (STDERR) at $__applyDefaults (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/document.js:359:22)
W20200611-11:38:41.268(7)? (STDERR) at model.Document (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/document.js:138:5)
W20200611-11:38:41.268(7)? (STDERR) at model.Model (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/model.js:93:12)
W20200611-11:38:41.268(7)? (STDERR) at new model (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/model.js:4459:15)
W20200611-11:38:41.268(7)? (STDERR) at Array.<anonymous> (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/model.js:3241:15)
W20200611-11:38:41.268(7)? (STDERR) at _start (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/helpers/parallelLimit.js:23:37)
W20200611-11:38:41.268(7)? (STDERR) at parallelLimit (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/helpers/parallelLimit.js:19:5)
W20200611-11:38:41.268(7)? (STDERR) at Function.Model.$__insertMany (/Users/rabbit/Desktop/app/meteor-element/node_modules/mongoose/lib/model.js:3262:3)
W20200611-11:38:41.268(7)? (STDERR) at process.nextTick (/Users/rabbit/Desktop/app/meteor-element/node_modules/kareem/index.js:369:33)
W20200611-11:38:41.268(7)? (STDERR) at _combinedTickCallback (internal/process/next_tick.js:132:7)
W20200611-11:38:41.268(7)? (STDERR) at process._tickDomainCallback (internal/process/next_tick.js:219:9)
But if Schema
not set default
it’s done for insert.
Please, help me.