sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose &flyde værdier

Mens mongoDB fuldt ud understøtter float type, mongoose understøtter kun typen Number som er heltal. Hvis du prøver at gemme til mongoDB flydenummer ved hjælp af mongooses type Number den vil blive konverteret til streng.

For at løse dette, skal du indlæse et plugin til mongoose, som vil udvide dets værdityper. Der er nogle plugins, der fungerer bedst med valutaer eller datoer, men i dit tilfælde ville jeg bruge https://www.npmjs.com/package/mongoose-double .

Din model efter ændringer ville se nogenlunde sådan ud:

var mongoose = require('mongoose')
require('mongoose-double')(mongoose);

var SchemaTypes = mongoose.Schema.Types;
var WaypointSchema = new Schema({
    lat: {
        type: SchemaTypes.Double
    },
    lng: {
        type: SchemaTypes.Double
    },
    section: {
        type: Number
    }
    created: {
        type: Date,
        default: Date.now
    }
});

mongoose.model('Waypoint', WaypointSchema);

Håber det hjælper.



  1. Mongoosastic - { [Fejl:Ingen levende forbindelser] meddelelse:'Ingen levende forbindelser' }

  2. Express/Node.js-fejl:Referencefejl:Res er ikke defineret

  3. MongoDB\Driver\Exception\InvalidArgumentException Heltalsoverløb registreret på din platform:300000000000

  4. Liste over PHP Mongo-spørgsmål:Hvad returnerer _construct, når replicaSet er sandt?