MongoDB collection "Test" enthält einen Datensatz:Mungo ODM: NumberInt ist nicht definiert
{ "_id" : ObjectId("56f53cded3095c203024a884"), status : 0 }
I verbunden wurde durch Node.js (Mungo-Treiber) mongo. Definieren Schema für diese Sammlung:
"Test" : {
status : { type : Number, default : 0 }
}
Feld „Status“ ist ein binäres Flag, muss sein Geschäft nur 0 oder 1 Zahlenwert. Ich will diesen Flag mit Abfrage-Update ändern:
test.update({ 'status' : 0 }, { $bit : { 'status' : { xor : NumberInt(1) } } }, function(err, result) {
if(err) {
console.log('err');
}
});
Mongoose nicht NumberInt()
Funktion gefunden wurde:
ReferenceError: NumberInt is not defined
Wenn ich einfache Nummer „1“ ohne Funktion setzen NumberInt()
, ich habe keine Änderungen oder Fehler.
In MongoDB Shell, die Abfrage funktioniert perfekt. Wie kann ich mit NumberInt()
in Mongoose Treiber arbeiten? Hat es einen anderen Namen?
danke. Ich deklariere var Int32 = require ('mongoose-int32'); und führe eine Abfrage mit diesem aus: test.update ({'status': 0}, {$ bit: {'status': {xor: new Int32 (1)}}}); aber Feld 'Status' wird nicht wieder geändert (vielleicht bin ich etwas falsch gemacht? –
Haben Sie versucht, die 'Art' von' Status' ein 'Int32' statt einer' Nummer'? –
Sorry, das funktioniert gut. Danke! –