一个ID仅在更新

时间:2019-05-15 10:20:58

标签: node.js mongoose

我正在尝试在node js猫鼬中使用。当我尝试编辑时,只有第一个ID不会全部更新。我想更新所有,但只有一个更新

controller.js

router.get('/edit/:id', async (req,res) => {
    const { id }   = req.params;
    const admins = await Admin.findById(id);
    res.render('/seo', {
        admins
    });

});

router.post('/edit/:id', async (req,res) => {
    const  { id } = req.params;
    await Admin.update({_id: id },req.body, {multi: true}, (err, doc) => {
        if (err) {
            console.log("Something wrong when updating data!");
        }

        console.log(doc);
    });
    res.redirect('/seo');
});

model.js

const adminSchema = new Schema({
    _id:mongoose.Schema.ObjectId,
    title: {
        type:String
    },
    url: {
        type:String
    },
    description: {
       type:String
    },
    keywords: {
        type: String
    }

})

file.ejs

<form action="/edit/<%= admins[i]._id %>" method="POST" id="myForm1">
  <td><%= i+1 %></td>
     <td>
      <div class="form-group">
       <input type="text" class="form-control" placeholder="Title" name="title" value="<%= admins[i].title %>">
       </div>
 </td>
   <td>
 <div class="form-group">
        <input type="text" class="form-control" placeholder="URL" name="url" value="<%= admins[i].url %>">
</div>
  </td>
    <td>
    <div class="form-group">
      <input type="text" class="form-control" placeholder="Description" name="description" value="<%= admins[i].description %>">
   </div>
 </td>
                                                <td> 
                                                    <div class="form-group">
                                                        <input type="text" class="form-control" placeholder="Keywords" name="keywords" value="<%= admins[i].keywords %>">
                                                    </div>
                                                </td>
                                                <td>    
                                                    <div class="justify-content-md-center">
                                                        <input type="submit"  value="Save" class="btn bg-red rounded" form="myForm1">

                                                    </div>


                                        </td>

预计将更新所有数据,但在更新该ID时会出现在命令提示符下  POST / edit / 5cda594358892b069cc05526 302 10.550 ms-52并不会全部更新。第一个ID能够更新

1 个答案:

答案 0 :(得分:0)

您指定您只想更新一位管理员:{_id:id}

 Admin.update({_id: id }

如果要更新管理集合中的所有对象,请删除条件{_id:id}

await Admin.update({},req.body, {multi: true}, (err, doc) =>