MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

TypeError:Der 'in'-Operator kann nicht verwendet werden, um nach '_id' in männlich zu suchen

Sie erhalten diesen Fehler, weil Sie Ihre Modellinstanz nicht richtig erstellen. Es erwartet einen Hash von Eigenschaften und ihren entsprechenden Werten, aber der von Ihnen bereitgestellte Parameter ist stattdessen eine Zeichenfolge. Aus Ihrem obigen Code ist req.body.user ein Hash {sex: "male"} während req.body.user.sex nur eine Zeichenfolge "männlich" ist. Sie können tun;

user = new User({sex: "male"});

Aber das geht nicht;

user = new User("male");

Das erklärt, warum Ihre erste „User“-Instanz mit dem Parameter req.body.user funktioniert, aber mit dem Parameter req.body.user.sex fehlschlägt. Ich bin mir noch nicht sicher, was Sie mit var sex = new User(req.body.user.sex); Möchten Sie eine weitere Benutzermodellinstanz erstellen? oder ein zugehöriges Sexmodel?