Current GraphQL resolver is to insert on user data. I need to insert multiple array objects to MongoDB only if the id (id != member_id) does not exist in the members database.
Datas which needs to insert
[
{
first_name: "Mate",
id: 402335654,
is_bot: false,
language_code: "ml"
}, {
first_name: "testerbot",
id: 357622799,
is_bot: false,
username: "testergroupbot"
}, {
first_name: "machan",
id: 1225612,
is_bot: false,
language_code: "ml",
username: "alavalathi"
}
]
Current resolvers
createMember: async args => {
try {
const existMember = await Member.findOne({
member_id: args.memberInput.member_id,
});
if (existMember) {
throw new Error('This user already exist');
}
const member = new Member({
member_id: args.memberInput.member_id,
first_name: args.memberInput.first_name,
last_name: args.memberInput.last_name,
username: args.memberInput.username,
date: new Date(args.memberInput.date),
});
const result = await member.save();
// eslint-disable-next-line no-underscore-dangle
return { ...result._doc };
} catch (error) {
throw error;
}
},
I am a beginner to GraphQL and MongoDB.
The solution comes with insertMany()
createMember: async args => {
try {
const newMembers = await args.memberInput.map(arg => ({
member_id: arg.member_id,
first_name: arg.first_name,
last_name: arg.last_name,
username: arg.username,
date: new Date().toISOString(),
}));
const results = await Member.insertMany(newAdmins);
return results.map(result => {
return { ...result._doc };
});
} catch (error) {
throw error;
}
},
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.