Driver NodeJS MongoDB: specifica il tipo di campo all'inserimento

Aug 29 2020

Come posso specificare o in altre parole imporre un tipo particolare quando inserisco un documento? Per esempio,

{
    a: 1,
    b: 2
},
{
    a: 1.5,
    b: 1.5
}

e vorrei definire MongoDB per minacciare tutti i campi come Double in questo caso. Questo perché non esiste un numero intero in JavaScript e tutti i numeri interi sono doppi per impostazione predefinita anche se il punto decimale svanisce quando non c'è punto decimale. Questo comportamento causa effettivamente un problema durante l'inserimento di documenti in MongoDB da NodeJS perché è digitato in modo debole.

Vorrei sottolineare che non sono un grande fan di Mongoose e per favore non suggeritemi di usarlo! Voglio sapere come specificare esplicitamente i tipi durante l'inserimento utilizzando il driver MongoDB originale.

Risposte

1 NeriyaBar-lev Aug 30 2020 at 23:09

Puoi usare

var { Double } = require("mongodb");

const item = { 
   a: Double(1),
   b: Double(2)
}