node.js - Cara mongoose menapis dan halaman berdasarkan jadual yang berkaitan
PHPz
PHPz 2017-05-24 11:35:40
0
1
1728

Latar belakang masalah

  1. Dua skema berikut

    Columns: { active: Boolean, name: String } News: { column: {type: Schema.Types.ObjectId, ref: 'columns'}, title: String, content: String }
  2. columnactive有被配置修改的需求,newsMeja mempunyai sejumlah besar keperluan sisipan

Penerangan masalah

  1. Bagaimana untuk berurusan dengannews进行分页查询,查询条件为column.activetrue?

  2. Bagaimana untuk menetapkancountsyarat pertanyaan?

Percubaan penyelesaian

1.

News.find().populate({ path: 'column', match: { active: true } }).limit(10).skip(0).exec(function(err, news) { if (err) { console.log(err); } else { console.log(news); } });
输出结果:
news:[ { "title": "这篇资讯的所属栏目正在开放", "column": { "active": true, "createdAt": "2017-04-11T10:35:29.747Z", "id": "58ecc960a4db1e3fc01c2d6d" }, "updatedAt": "2016-11-29T08:55:42.000Z", "id": "5923ab21415f8f3bc43f8515" }, { "title": "这篇资讯的所属栏目已被屏蔽", "column": null, "updatedAt": "2016-11-29T08:47:18.000Z", "id": "5923ab21415f8f3bc43f83bd" } ]
期望获取的结果是只有column中active为true的数据 尝试失败
PHPz
PHPz

学习是最好的投资!

membalas semua (1)
滿天的星座

1 Dalam situasi yang anda nyatakan, isikan adalah seperti ini, jadi kebanyakan masa isikan sangat berguna apabila membuat perkaitan dengan dokumen, tetapi apabila membuat perkaitan dengan berbilang dokumen yang memenuhi syarat, ini adalah situasi yang anda hadapi. . , jika tiada persatuan, null akan dikembalikan.

2. Adalah disyorkan agar anda membuat pengubahsuaian berikut pada model data:

1) Kaedah model data yang anda gunakan ialah kaedah rujukan, iaitu kaedah pemodelan paradigma tradisional. Ia lebih sukar untuk digunakan dalam MongoDB;

2) Pertimbangkan untuk menggunakan pemodelan anti-paradigma. Nama itu kedengaran sangat maju, ia hanya menggunakan sub-dokumen untuk mencapai perkaitan. Dalam keperluan anda, lebih mudah untuk membenamkan lajur ke dalam berita sebagai subdokumen.

Untuk rujukan.

Suka MongoDB! Berseronoklah!

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!