使用猫鼬及其独特的功能...我如何将查找与正则表达式和 distict 结合起来,并返回完整的文档?
使用不同的功能https://docs.mongodb.com/manual/reference/method/db.collection.distinct/#options https://docs.mongodb.com/manual/reference/method/db.collection.distinct/#options仅返回唯一字段。
这就是我用 lodash 拼凑而成的。
findByTitle: ( title ) => {
return new Promise( ( resolve, reject ) => {
solutionModel.find( {"Title": { $regex: new RegExp( title ,'i') }}, (err, docs) => {
if( err ) return reject( err );
return resolve( _.uniqBy(docs, (e) => {
return e.SolutionID;
}) );
});
} );
},
尾随聚合:
solutionModel.aggregate(
[
{ "$match": {
"Title": { $regex: new RegExp( 't' ,'i') }
}},
// Grouping pipeline
{ "$group": {
"SolutionID": '$SolutionID'
}},
// Sorting pipeline
{ "$sort": { "Title": -1 } },
// Optionally limit results
// { "$limit": 5 }
],
function(err,docs) {
console.log( err );
console.log( docs );
}
);
结果出错:
MongoError:字段“SolutionID”必须是累加器对象