check
This commit is contained in:
@@ -200,7 +200,7 @@ const projectSchema = new mongoose.Schema({
|
||||
// فیلد برای وضعیت پروژه
|
||||
status: {
|
||||
type: String,
|
||||
enum: ['pre_payment', 'paid', 'temp_accept', 'accepted', 'rejected', 'done', 'cancled', 'ongoing'],
|
||||
enum: ['pre_payment', 'paid', 'pending', 'temp_accept', 'accepted', 'rejected', 'done', 'cancled', 'ongoing'],
|
||||
default: 'pre_payment'
|
||||
},
|
||||
public_status: {
|
||||
@@ -289,6 +289,14 @@ const projectSchema = new mongoose.Schema({
|
||||
|
||||
})
|
||||
|
||||
// ایندکسهای لازم برای کوئریِ لیستِ پروژهها (getProjectController.js) — بدونشون
|
||||
// روی هر درخواست یه COLLSCAN + sort-در-حافظه انجام میشد که با بزرگترشدنِ
|
||||
// کالکشن کندتر میشد؛ همون فیلترها/مرتبسازیهایی که getProjects واقعاً استفاده میکنه
|
||||
projectSchema.index({ status: 1, selected_user: 1, acceptedAt: -1, createdAt: -1 })
|
||||
projectSchema.index({ status: 1, expertise: 1 })
|
||||
projectSchema.index({ status: 1, offer_price: -1 })
|
||||
projectSchema.index({ status: 1, requested_users: -1 })
|
||||
|
||||
projectSchema.plugin(timestamp)
|
||||
// اضافه کردن پیجینیشن به مدل
|
||||
projectSchema.plugin(mongoosePaginate)
|
||||
|
||||
Reference in New Issue
Block a user