Estoy creando mi API de descanso. Estoy buscando una manera de poder encontrar datos por campo que actualmente puedo hacer. Sin embargo, también me gustaría poder agregar una función donde pueda obtener datos donde el campo no existe.
Ejemplo:
recordRouter .route("/templates") .get((req, res, next) => { Templates.find(req.query) .then( (record) => { res.statusCode = 200; res.setHeader("Content-Type", "application/json"); res.json(record); }, (err) => res.status(400).json(err) ) .catch((err) => res.status(400).json(err)); }) .post((req, res, next) => { Templates.create(req.body) .then( (record) => { res.statusCode = 200; res.setHeader("Content-Type", "application/json"); res.json(record); }, (err) => res.status(400).json(err) ) .catch((err) => res.status(400).json(err)); })
registros de la base de datos
{ "_id": { "$oid": "6149290b197615d32c515dab" }, "instantMessage": false, "isComplete": true, "date": "2021-09-21", "description": "This is a test messjage v4", "owner": "wxTWH8zqSwaIXPAVsjZoRCkvjx73", "remindTime": "1630203423", "title": "Test Message", "uuid": "0Easdf-1uasdf", "createdAt": "2021-08-30T20:01:36.608Z", "updatedAt": "2021-08-30T20:01:36.608Z", "templateName": "my test template", "_ref": 1632314979, "__v": 0 }, { "_id": { "$oid": "614a2bf5560184026def253a" }, "date": "2021-09-21", "title": "Test Message", "description": "BAD", "remindTime": 1632254400, "isComplete": true }
1 uuid existe:
db.collection.find({ uuid: { "$exists": true } })
https://mongoplayground.net/p/Yytnh__L2sS
2 título no estaba vacío
db.collection.find({ title: { "$ne": "" } })
https://mongoplayground.net/p/Hko_DKKgubu
3 descripción NO MALA y título Mensaje de prueba
db.collection.find({ description: { "$ne": "BAD" }, title: "Test Message" })
https://mongoplayground.net/p/qhpkOpvcaeA
todo esto en and
db.collection.find({ $and: [ { description: { "$ne": "BAD" }, title: "Test Message" }, { title: { $ne: "" } }, { uuid: { "$exists": true } } ] })