MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Meteor:Как да напиша функция за публикуване, съдържаща потребителското име

Елементи от Courses Колекцията е това, което публикувате.

Така че, когато правите заявка с Courses.find({"canEditCourse": { $in: [ this.userId ] } }); canEditCourse е това, което се опитвате да съпоставите с userId (това буквално означава намиране на всички курсове, където canEditCourse масивът съдържа userId.)

Не виждам защо бихте искали да използвате потребителско име тук вместо това. Какво ви носи това?

Ако искате да направите това, трябва да имате canEditCourse полето е масив от username а не userId .Това означава, че трябва да промените логиката, където се създават или редактират курсовете и къде се попълва това поле.

Не съм сигурен, че си струва труда. Ако това, което искате, е да търсите курсовете по потребителско име, след това да търсите потребителя по потребителско име, да вземете неговия/нейния потребителски идентификатор и да търсите курсовете по потребителски идентификатор.

Meteor.publish('editableCourses', function (username) {
    var myUser = Meteor.users.findOne({'username': username});
    return Courses.find({"canEditCourse": { $in: [ myUser._id ] } });
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Машинни пулове и облачни профили за MongoDB

  2. ObjectID не е дефиниран. Не може да се намери обект по id в Mongo Shell

  3. Redis срещу MongoDB:Какво трябва да знаете

  4. Търсене на пълен текст с тегло в мангуста

  5. Агрегиране на година и месец в MongoDB