Node.js 具有属性的查询中mongodb对象的筛选器列表
我正在使用angular、nodejs、mongodb和mongoose-paginate-v2以及mongoose库 我需要按可用性属性筛选房间列表 hoe.component.tsNode.js 具有属性的查询中mongodb对象的筛选器列表,node.js,angular,Node.js,Angular,我正在使用angular、nodejs、mongodb和mongoose-paginate-v2以及mongoose库 我需要按可用性属性筛选房间列表 hoe.component.ts getRooms(page = 1) { // console.log('error'); this.roomservice.getRooms(page).subscribe( response => { if(response.rooms
getRooms(page = 1)
{
// console.log('error');
this.roomservice.getRooms(page).subscribe(
response =>
{
if(response.rooms)
{
this.rooms = response.rooms;
// navegacion de paginación
this.totalPages = response.totalPages;
console.log(this.totalPages);
var number_pages = [];
for(var i = 1; i <= this.totalPages; i++)
{
number_pages.push(i);
}
this.number_pages = number_pages;
if(page >=2)
{
this.prev_page = page-1;
}
else
{
this.prev_page = 1;
}
if(page < this.totalPages)
{
this.next_page = page+1;
console.log(page);
}
else
{
this.next_page = this.totalPages;
}
}
else
{
this.router.navigate(['admin/listrooms']);
console.log('error');
}
},
error =>
{
console.log(error);
}
);
}
<div class="row">
<ul class="list-group">
<li class="list-group-item" *ngFor="let room of rooms">
<div class="row">
<div class="col-sm-2">
<div class="" *ngIf="!room.image1 || room.image1 == undefined; else noimage">
<img class="img-list" src="{{ url + 'avatar/' + 'no-image.png' }}" alt="student">
</div>
<ng-template #noimage>
<img class="img-list" src="{{ url + 'avatar/' + room.image1 }}" alt="student">
</ng-template>
</div>
<div class="col-sm-10">
<p class="title-room">Title {{ room.title }}</p>
<p class="data-room"> {{ room.location }}</p>
<p class="data-room"> {{ room.description | less:[150, '...'] }}</p>
<p class="data-room"> Room type {{room.roomtype}}</p>
<p>£ {{ room.price }} pm</p>
<a [routerLink]="['/room', room._id]" class="btn btn-danger">View</a>
</div>
</div>
</li>
</ul>
</div>
<ul class="pagination">
<li class="page-item">
<a class="page-link" [routerLink]="['/admin/listrooms', prev_page]">«</a>
</li>
<li class="page-item" *ngFor="let num of number_pages">
<a class="page-link" [routerLink]="['/admin/listrooms', num]" href="">{{ num }}</a>
</li>
<li class="page-item">
<a class="page-link" [routerLink]="['/admin/listrooms', next_page]">»</a>
</li>
</ul>
如何筛选availability property=true的房间列表???用烟斗?我看过mongoose文档,但没有发现任何有用的东西。我希望我没有遗漏什么。 如中所述 因此,第一个参数是查询对象。将您的查询放到那里
{availability:true}
Room.paginate({availability:true}, options, ...
我找到了使用自定义管道的其他解决方案
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(room: Array<any>, availability: string): Array<any> {
return room.filter(room => room.availability === 'true');
}
}
<li class="list-group-item" *ngFor="let room of rooms | filter:room.availability">
从'@angular/core'导入{Pipe,PipeTransform};
@烟斗({
名称:“过滤器”
})
导出类FilterPipe实现PipeTransform{
转换(房间:阵列,可用性:字符串):阵列{
return room.filter(room=>room.availability==='true');
}
}
您的数据模型是否提供可用性?例如,room.available==true.yes我的模型具有room.availability
Room.paginate({availability:true}, options, ...
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(room: Array<any>, availability: string): Array<any> {
return room.filter(room => room.availability === 'true');
}
}
<li class="list-group-item" *ngFor="let room of rooms | filter:room.availability">