我有20萬個文檔的集合,每個包含「客戶名稱」字段。有大約1k獨特的「customerName」值。 (該字段建立索引)貓鼬 - 呈現不同的價值觀和slugify這些值
我需要使這些客戶的名單,併爲每一個蛞蝓,這樣我可以在我的路由URL中使用。
下一步將呈現一個頁面,顯示所有包含客戶名稱的文件每個客戶名稱。
這裏是我迄今爲止,
/// Customer.js
const rmaSchema = new Schema({
CustomerName: { type: String, index: true },
slug: String },
{ collection : 'mycompany' // collection name
});
rmaSchema.pre('save', function(next) {
this.slug = slugify(this.CustomerName) ;
next();
});
const rmaModel = mongoose.model('Rma', rmaSchema);
module.exports = rmaModel;
// function to slugify a name
function slugify(text) {
return text.toString().toLowerCase()
.replace(/\s+/g, '-') // Replace spaces with -
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
.replace(/\-\-+/g, '-') // Replace multiple - with single -
.replace(/^-+/, '') // Trim - from start of text
.replace(/-+$/, ''); // Trim - from end of text
}
/// Customer.Controller.js
function showCustomers(req, res){
Rma.distinct('CustomerName', function(err, customers) {
if (err){
res.status(404);
res.send('customers not found!');
}
res.render('pages/customers', {customers: customers});
});
};
module.exports = showCustomers;
/// customer.ejs
<table class="table table-bordered table-hover table-striped">
<tbody>
<% for (var customer of customers) { %>
<tr>
<td><%= customer.CustomerName %></td>
<td><a href="/events/<%= customer.slug %>" class="btn btn-sm btn-primary">Generate Report</a></td>
</tr>
<% } %>
</tbody>
slu supposed不應該是獨一無二的? – Mikey