MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak wyszukiwać użytkowników według imienia i nazwiska w MongoDB?

Widzę kilka błędów w twoim kodzie powodujących niepożądany wynik.

  1. Potok agregacji akceptuje szereg operacji struktury agregacji. W Twoim przypadku brakuje Ci [] operator. Powinno być jak

    User.aggregate([{$project...},{$match...}])

  2. Na etapie $match używasz wyrażenia regularnego, jeśli używasz /../ stylu wyrażenia regularnego, nie musisz owijać go wokół cudzysłowów. Powinien to być /bob j/i

Oto gotowy przykład:

User.aggregate([
  {$project: { "name" : { $concat : [ "$firstName", " ", "$lastName" ] } }},
  {$match: {"name": {$regex: /bob j/i}}}
]).exec(function(err, result){
  console.log(result);
});

Powinieneś zobaczyć [ { _id: 574c3e20be214bd4078a9149, name: 'Bob Jerry' } ] na ekranie.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytania C# mongo z ciągami json

  2. Jak używać $add w funkcji update() w Mongo?

  3. Co się dzieje z Meteor i Fibers/bindEnvironment()?

  4. Zbiorcza aktualizacja dokumentów w MongoDB

  5. Zrozumienie mongo db wyjaśnij