var monk = require('monk'); var db = monk('127.0.0.1:27017/db'); var collection = db.get('content'); newscol.find({}, {}).then((data) => {console.log(data);})Producción:
[ { _id: 1, content: 'abcdefghijklmnopqrstu vwxyz ', }, { _id: 2, content: 'bcdefghijklmnopqrstuv wxy z', }, { _id: 3, content: 'cdefghijklmnopqrstuvw xy z', } ]Intenté recuperar los datos de forma normal.
Pero, ¿hay alguna forma de recuperar solo las primeras palabras del contenido como se muestra a continuación?
[ { _id: 1, content: 'abc d...', }, { _id: 2, content: 'bcd e...', }, { _id: 3, content: 'cde f....', } ]Estoy tratando de usar collection.aggregate pero parece que no ayuda con el problema.
db.collection.aggregate([ { $set: { content: { $reduce: { input: { $slice: [ { $split: [ "$content", " " ] }, 4 ] }, initialValue: "", in: { $concat: [ "$$value", { $cond: [ { $eq: [ "$$value", "" ] }, "", " " ] }, "$$this" ] } } } } } ])