Estaba jugando con mis nodjs y mongoDB. Encontré un error que no puedo actualizar un objeto.
const { MongoClient, ObjectID } = require('mongodb'); // or as an es module: // import { MongoClient } from 'mongodb' const url = 'mongodb+srv://<user>:<password>@cluster0.uw6pe.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'; console.log(url); const client = new MongoClient(url); // Database Name const dbName = 'studio'; export async function insertData(_id: string) { // Use connect method to connect to the server await client.connect(); console.log('Connected successfully to server'); const db = client.db(dbName); const collection = db.collection('shops'); return new Promise(function (resolve, reject) { collection.updateOne( { _id: ObjectID(_id) }, { $set: { address: { type: 'Point', coordinates: [123, 321], }, }, }, (err, res) => { if (err) reject(err); resolve(res); }, ); }); }Estaba tratando de insertar una dirección (Objeto), usando NestJS. Y obtuve este error.
ingrese la descripción de la imagen aquí
Así que me pregunto qué hice mal. Podría actualizar la clave: valor, pero no puedo actualizar la clave: objeto. Si ingreso un objeto vacío, funciona.
¿Hay alguien que tenga una respuesta?
El problema es que coordinates: [123, 321] no son coordenadas válidas, esto se debe a que 321 no es un valor de latitud válido. Las latitudes están entre -90 y +90, mientras que las longitudes pueden estar entre -180 y +180.
La pista está en el mensaje de error: "longitude/latitude out of bounds" .
Si se asegura de que sus coordenadas sean válidas, no debería encontrarse con este error.
Documentos útiles para leer: