2016-08-17 4 views
0

Как использовать проверку с запросами в Mongoose с Feathers/Vue stack? Это то, что я испытываю. Любые условия запроса, переданные службе perathers-mongoose, должны передаваться в модели Vue для запуска запроса, который отфильтровывает возвращенные элементы, которые не имеют свойства имени или вообще не имеют поля. Это то, на что похоже, когда оно не работает. Обратите внимание на «истинный» результат. enter image description hereПроверка Mongoose с использованием Feathersjs и Vue

var vm = new Vue({ 
    el: '#app', 
    data() { 
     return { 
      places:[] 
     } 
    }, 
    ready() { 
     // Find all places 
     placeService.find({ 
      query: { 
       ** name: { $exists: true } ** 
      } 
     }).then(page => { 
      this.places = page.data 
     }) 
    } 
}) 

Если добавить это в разделе «Настройки» на службе запрос будет в конечном итоге показывает элемент с «истинно», показывающий в {{}} i.name в index.html. Эта настройка службы:

module.exports = function() { 
    const app = this; 

    const options = { 
    Model: place, 
    paginate: { 
     default: 15, 
     max: 30 
    }, 
    // query: { 
    //  name: { $exists: true }, 
    //  city: { $exists: true } 
    // } 
    }; 

    // Initialize our service with any options it requires 
    app.use('/places', service(options)); 

Еще одно замечание, если вы пытаетесь использовать перья, построенные в проверке из модели представления с

$select: { name: { $exists: true }} 

, как показано ниже, или путем добавления

{$exists:true} 

к модели mongoose, вы получите тот же результат, как если бы вы запустили его в вариантах перьев-мангустов.

ready() { 
     // Find all places 
     placeService.find({ 
      query: { 
       $select: { name: { $exists: true }} 
      } 
     }).then(page => { 
     this.places = page.data 
     }) 
    } 

спасибо.

ответ

0

Я установил эту проблему путем добавления MINLENGTH: 1 параметр в схеме мангустов согласно http://mongoosejs.com/docs/api.html#schema_string_SchemaString-minlength

const placeSchema = new Schema({ 
    name: { 
     type: { String, minlength: 1}, 
     required: true 
    } 
    }); 

я все же хотел бы знать, если это является оптимальным. Спасибо

+0

Вы 'console.log' данные' страницы', возвращенные из запроса? Это выглядит так, как ожидалось? Похоже, что у вас были плохие данные, и ограничение фиксировало выход. – Daff

 Смежные вопросы

  • Нет связанных вопросов^_^