Ich versuche, eine POST-Anfrage verwenden, um den Wert der Schaltfläche abgerufen und erstellt einen neuen Mongoose-Modelleintrag mit dem zurückgegebenen Wert vor dem Rendern einer neuen Seite und durch den Wert gehen.TypeError: Kann nicht 'in' Operator nach '_id' in einem
Wenn ich versuche, den neuen "Typ" zu erstellen, obwohl ich einen TypeError erhalte: "TypeError: Kann 'in' Operator nicht verwenden, um nach '_id' in einem zu suchen". Kann mir jemand helfen herauszufinden, was den Fehler verursacht und wie ich ihn beheben kann?
Form verwendet:
<form action="/round/type" method="POST" class="form-inline">
<div class="row">
<div class="col">
<button class="btn btn-lg btn-primary btn-block" name="roundType" value="one" type="submit">one</button>
</div>
<div class="col">
<button class="btn btn-lg btn-primary btn-block" name="roundType" value="two" type="submit">two</button>
</div>
<div class="col">
<button class="btn btn-lg btn-primary btn-block" name="roundType" value="three" type="submit">three</button>
</div>
<div class="col">
<button class="btn btn-lg btn-primary btn-block" name="roundType" value="four" type="submit">four</button>
</div>
</div>
</form>
Modell Schema:
var mongoose = require("mongoose");
//Schema Setup
var TypeSchema = new mongoose.Schema({
roundType: String,
});
module.exports = mongoose.model("Type", TypeSchema);
Beitrag Gesuch:
router.post("/type", function(req, res){
console.log(req.body.roundType); //this console.log prints the correct value submitted
Type.create(req.body.roundType, function(err, newType){
if(err){
console.log(err);
} else{
res.redirect("/round/group", {roundType: newType});
}
});
});
Fehlermeldung:
TypeError: Cannot use 'in' operator to search for '_id' in one
at model.Document.$__buildDoc (/home/ubuntu/workspace/GolfSite_V2/node_modules/mongoose/lib/document.js:222:27)
at model.Document (/home/ubuntu/workspace/GolfSite_V2/node_modules/mongoose/lib/document.js:67:20)
at model.Model (/home/ubuntu/workspace/GolfSite_V2/node_modules/mongoose/lib/model.js:55:12)
at new model (/home/ubuntu/workspace/GolfSite_V2/node_modules/mongoose/lib/model.js:3867:13)
at /home/ubuntu/workspace/GolfSite_V2/node_modules/mongoose/lib/model.js:2035:51
at /home/ubuntu/workspace/GolfSite_V2/node_modules/async/internal/parallel.js:27:9
at eachOfArrayLike (/home/ubuntu/workspace/GolfSite_V2/node_modules/async/eachOf.js:57:9)
at exports.default (/home/ubuntu/workspace/GolfSite_V2/node_modules/async/eachOf.js:9:5)
at _parallel (/home/ubuntu/workspace/GolfSite_V2/node_modules/async/internal/parallel.js:26:5)
at parallelLimit (/home/ubuntu/workspace/GolfSite_V2/node_modules/async/parallel.js:85:26)
at /home/ubuntu/workspace/GolfSite_V2/node_modules/mongoose/lib/model.js:2056:5
at new Promise.ES6 (/home/ubuntu/workspace/GolfSite_V2/node_modules/mongoose/lib/promise.js:45:3)
at Function.create (/home/ubuntu/workspace/GolfSite_V2/node_modules/mongoose/lib/model.js:2019:17)
at /home/ubuntu/workspace/GolfSite_V2/routes/round.js:40:10
at Layer.handle [as handle_request] (/home/ubuntu/workspace/GolfSite_V2/node_modules/express/lib/router/layer.js:95:5)
at next (/home/ubuntu/workspace/GolfSite_V2/node_modules/express/lib/router/route.js:137:13)