Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Route for updating a quote
- app.get( '/update/:id', ( req, res ) => {
- var unsafeToken = req.params.id;
- var token = unsafeToken.trim(unsafeToken); console.log(token);
- //var token = new ObjectId(req.params.id); console.log( token );
- db.collection( 'quote' ).find({ '_id': ObjectId(token) }).toArray( function (err, result) {
- console.log(result);
- res.render('update.ejs', {quote: result});
- });
- });
- // On update.ejs file this is the form
- <form action="update" method="put">
- <div class="form-group">
- <label for="name">Name:</label>
- <input type="text" placeholder="name" name="name" class="form-control" value="<%= quote[0].name %>">
- </div>
- <div class="form-group">
- <label for="quote">Quote:</label>
- <input type="text" placeholder="quote" class="form-control" name="quote" value="<%= quote[0].quote %>">
- </div>
- <input type="hidden" value="<%= quote[0]._id %>" name="quoteID">
- <button type="submit" class="btn btn-default">Update</button>
- </form>
- // This is the action where i can't update my data
- app.post( '/update', ( req, res ) => {
- db.collection('quote').update (
- { _id: ObjectId(req.body.quoteID) },
- { $set: {
- name: req.body.name,
- quote: req.body.quote
- }
- }, function (err, result) {
- if (err) {
- console.log(err);
- } else {
- console.log("Post Updated successfully");
- res.redirect('/');
- }
- });
- });
- Whenever I try to update the following error occurs
- Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters
- at new ObjectID (c:\Users\AD LORD\Desktop\learning-node\node_modules\bson\lib\bson\objectid.js:50:11)
- at ObjectID (c:\Users\AD LORD\Desktop\learning-node\node_modules\bson\lib\bson\objectid.js:31:42)
- at app.get (c:\Users\AD LORD\Desktop\learning-node\server.js:35:44)
- at Layer.handle [as handle_request] (c:\Users\AD LORD\Desktop\learning-node\node_modules\express\lib\router\layer.js:95:5)
- at next (c:\Users\AD LORD\Desktop\learning-node\node_modules\express\lib\router\route.js:137:13)
- at Route.dispatch (c:\Users\AD LORD\Desktop\learning-node\node_modules\express\lib\router\route.js:112:3)
- at Layer.handle [as handle_request] (c:\Users\AD LORD\Desktop\learning-node\node_modules\express\lib\router\layer.js:95:5)
- at c:\Users\AD LORD\Desktop\learning-node\node_modules\express\lib\router\index.js:281:22
- at param (c:\Users\AD LORD\Desktop\learning-node\node_modules\express\lib\router\index.js:354:14)
- at param (c:\Users\AD LORD\Desktop\learning-node\node_modules\express\lib\router\index.js:365:14)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement