如何解决通过 for 循环或 foreach 保存在 mobgodb 模式中,每个项目节省一次以上
我正在使用 mongo 和 node 在这个 pp 中工作,我正面临这个问题,指的是通过在过程中添加的 for 循环特定项目保存数据库
在通过 Findone 方法的第一种方法中,我建立了查询 用于检索暴露一些参数的用户
User.findOne(
{
_id: payload.idCreator,"groupOfChats.idGroup": payload.idGroup,},"groupOfChats.$"
THEN IN THIS SECOND APPROACH WAITING FOR RESOLVING A PROMISE THROUGH
THE METHOD THEN() CATCHING THE RESULT OF THE FORMER FINDONE I TRIGGER A
FOR LOOP OVER THAT RESULT,EXPECTING TO RECEIVE SOME DATA.
AND THEN OVER EACH ELEMENT RETRIEVE FROM THAT DATA I SET AGAIN
A MONGO QUERY EXPECTING They COMMIT CERTAIN REQUISITES,WHERE IN CASE
They DON´T,A NEW OBJECT WOULD BE CREATED (new GroupChat),AND SAVED
IN THE SCHEMA FOR THAT SPECIFIC ITEM.
).then((result) => {
for (let x = 0; x < result.groupOfChats[0].membersId.length; x++) {
User.findOne(
{
_id: result.groupOfChats[0].membersId[x],"groupOfChats.$"
).then((result1) => {
if (result1) {
return console.log(" GROUP ID FOUND",result1);
} else {
console.log("NO GROUP ID FOUND");
let groupToAdd = new GroupChat(
payload.idGroup,result.groupOfChats[0].membersId,payload.nameGroup,payload.idCreator,[]
);
let userToSaveGroup = User.updateOne(
{
_id: result.groupOfChats[0].membersId[x],{
$push: {
groupOfChats: groupToAdd,}
).then(async () => {
(await userToSaveGroup).save();
});
}
});
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。