使用find Pouchdb查询错误排序文档

时间:2019-03-31 16:01:56

标签: ionic-framework pouchdb mangodb

我希望使用pouchdb对结果进行排序/排序。 我在希望按大于882排序的字段上创建了一个索引

我已检查数据库是否存在

然后结果就像:

883

895

9

909

917

93

我正在参考文档:https://pouchdb.com/guides/mango-queries.html 以及本文档:http://docs.couchdb.org/en/stable/api/database/find.html

    this.db= new PouchDB('parcelles', {adapter: 'idb'});

        // Create an index to the field id_culture

            this.db.createIndex({
             index: {
             fields: ['id_culture']
              }
              }).then((result)=> {
                      console.log(result);

              }).catch(function (err) {

              });

        // Query with the sort filter

              this.db.find({
              selector: {
              id_culture: {$gte: '882'}
               },
              sort: ['id_culture']
               }).then( (result)=> {console.log(result);

               }).catch(function (err) {console.log(err);

               });

1 个答案:

答案 0 :(得分:1)

您的属性id_culture是文本字符串,而不是数字。您将必须决定最大可能的大小,例如100,000,000,并保留所有ID。

我也建议使用前缀,因此您可以尝试使用:Culture_00000009,Culture_00000909,Culture_00000093等。使用此类ID可以进行排序。...

id_culture: {$gte: 'Culture_00000882'}

...给予...

Culture_00000883
Culture_00000895
Culture_00000909
Culture_00000917
Culture_00001093