Concat MongoDB Array -- de.js campo con mongodb campo con mongoose camp Relacionados El problema

Concat mongodb array


0
vote

problema

Español

Estoy trabajando con MongoDB y los complementos. Necesito concatenar dos campos el ID_STATION y SENSOR_TYPE.NAME

Como ambos son arreglos, estoy haciendo filtro para eliminar el resto de elementos que no corresponden a los atributos de entrada:

Este es mi código:

  function getSensorIdstationType(req, res) {     let type = req.params.type;     var array = req.params.id_station;     var arr = array.split(',');      Station_types.aggregate([             { "$match": { "id_station": { "$in": arr }, 'sensor_type.type': type } },             //{ "$unwind": "$id_station" },              {                 $project: {                     sensor_type: {                         $filter: {                             input: '$sensor_type',                             as: 'shape',                             cond: { $eq: ['$$shape.type', type] }                         },                     },                     _id: 0,                     id_station: {                         $filter: {                             input: '$id_station',                             as: 'shape',                             cond: { $in: ['$$shape', arr] }                         },                     },                     pruebas: { $concat: ["shape", " _ ", 'id_station'] }                 },              },           ],         (err, Station_types) => {             if (err) return res.status(500).send({ message: 'Error al realizar la peticion' })             if (!Station_types) return res.status(404).send({ message: 'Error el usuario no existe' })             res.status(200).send({ Station_types })         }) }   

un ejemplo de mis datos:

  { "sensor_type": [ { "name": "11_X_X_600_avg", "type": "clima", "place": "interior", "img": "assets/img/contrast.png", "name_comun": "Radiación solar", "medida": "W/m2", "interfaz": "" } ], "id_station": [ "012080F3" ], "pruebas": "shape - id_station" }   

Necesitaría que aparezca en el campo, intente el valor 11_X_X_600_avg_012080F3

Cuando intento concatenar, recibo un error y no sé cómo hacerlo correctamente

  pruebas: { $concat: ["$sensor_type.name", " _ ", '$id_station'] }   
Original en ingles

I'm working with Mongodb and the add-ons. I need to concatenate two fields the id_station and sensor_type.name

as both are arrays I am doing filter to eliminate the rest of elements that do not correspond to the input attributes:

This is my code:

function getSensorIdstationType(req, res) {     let type = req.params.type;     var array = req.params.id_station;     var arr = array.split(',');      Station_types.aggregate([             { "$match": { "id_station": { "$in": arr }, 'sensor_type.type': type } },             //{ "$unwind": "$id_station" },              {                 $project: {                     sensor_type: {                         $filter: {                             input: '$sensor_type',                             as: 'shape',                             cond: { $eq: ['$$shape.type', type] }                         },                     },                     _id: 0,                     id_station: {                         $filter: {                             input: '$id_station',                             as: 'shape',                             cond: { $in: ['$$shape', arr] }                         },                     },                     pruebas: { $concat: ["shape", " _ ", 'id_station'] }                 },              },           ],         (err, Station_types) => {             if (err) return res.status(500).send({ message: 'Error al realizar la peticion' })             if (!Station_types) return res.status(404).send({ message: 'Error el usuario no existe' })             res.status(200).send({ Station_types })         }) } 

An example of my data:

{ "sensor_type": [ { "name": "11_X_X_600_avg", "type": "clima", "place": "interior", "img": "assets/img/contrast.png", "name_comun": "Radiacixc3xb3n solar", "medida": "W/m2", "interfaz": "" } ], "id_station": [ "012080F3" ], "pruebas": "shape - id_station" } 

I would need it to appear in the field, try the value 11_X_X_600_avg_012080F3

when I try to concatenate, I get an error and I do not know how to do it correctly

pruebas: { $concat: ["$sensor_type.name", " _ ", '$id_station'] } 
        
     
     

Lista de respuestas


Relacionados problema

2  Mangosta con mongodb atlas devuelva la matriz vacía  ( Mongoose with mongodb atlas return empty array ) 
Estoy tratando de conectar express.js con Mongodb Atlas y Mangoose, pero el servidor siempre devuelve una matriz vacía '[]'. Cuando carga una base de datos lo...

0  Error al copiar Req.body Properties en Modelo de mangosta  ( Error copying req body properties into mongoose model ) 
En primer lugar, tengo que decir que soy nuevo en tecnologías angulares y nodos. Lo siento mucho por mi ignorancia. Obtengo este error cuando intento guarda...

1  Conexión de mangosta a cada archivo MVC en mangosta  ( Connecting mongoose to every mvc file in mongoose ) 
utilizando MVC: Node App Directory App.js Controllers UserController.js OtherController.js Models UserModel.js OtherModel....

1  Mangose, búsqueda de texto Múltiples campos no funcionan  ( Mongoose text search multiple fields not working ) 
Aquí está mi modelo, var InternetSchema = new Schema({ name: String, company: String, contactNumber:String, accessToken:String, }); InternetSchem...

8  Cómo definir los atributos variables para un sistema de productos en Mongoose (NODE.JS)  ( How to define varying attributes for a product system in mongoose node js ) 
Estoy construyendo una aplicación de tienda personal donde los usuarios pueden vender artículos entre sí, pero estoy teniendo dificultades para determinar cóm...

0  MongoDB - Obtenga un error al conectarse con la base de datos local  ( Mongodb getting error while connect with local data base ) 
Estoy tratando de crear una lista de usuarios cuando el usuario envíe sus detalles. En app.js Tengo la función para eso. Me gusta esto: app.post('/addL...

0  Actualizando los subdocumentos con mangosta  ( Updating subdocuments with mongoose ) 
De acuerdo, así que estoy tratando de actualizar un subdocumento (documento incrustado) con mangosta. Tengo: query = 'fanclubs.fanclub_id': fancl...

0  MONGODB / MONGOOSE ¿Cómo puedo combinar dos entradas de DB sin conflictos?  ( Mongodb mongoose how do i pair two db entries without conflicts ) 
Consulte esta pregunta para obtener información adicional: MONGODB MEJOR manera de emparejar y eliminar la base de datos secuencial Entradas ¡De acuerd...

1  Devolviendo todos los comentarios por un usuario específico sin otros campos de documentos usando Mongoose  ( Returning all comments by a specific user without other document fields using mo ) 
var mongoose = require('mongoose'); // defines the database schema for this object var schema = mongoose.Schema({ projectName : String, authorName : Str...

0  MongoError: Expresión $ toma exactamente 2 argumentos. 1 fueron pasados. '{$ In: [<expresión>, <expresión de matriz>]}' No funciona  ( Mongoerror expression in takes exactly 2 arguments 1 were passed in in ) 
Estoy tratando de ejecutar esto a continuación. update.keywords y update.genre son la matriz de cadenas. Estoy usando Mongodb v4.4.0 let similar = awai...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos