Maison  >  Questions et réponses  >  le corps du texte

mongodb查询语句怎么合并查询结果?

想用一条语句查询三条记录,包括当前记录、上一条、下一条,怎么实现?
只知道当前记录的_id,需要按另外一个时间字段排序取相临的记录。

迷茫迷茫2749 Il y a quelques jours584

répondre à tous(1)je répondrai

  • PHPz

    PHPz2017-05-02 09:24:41

    Il est difficile d'utiliser des phrases simples, au moins mon champ d'action ne semble pas réaliste
    Je peux donner quelques idées :

    1. Utilisez db.coll.find({},{"Affichez uniquement une colonne de données, ou quelques colonnes, moins il y en a, mieux c'est. Il sera difficile à utiliser si la quantité de données est importante, car les opérations de tri sont requises plus tard"}) Une fois $natual:1 trié, il est affecté au curseur, puis deux variables sont utilisées dans forEach() pour enregistrer la donnée actuelle et la donnée précédente jusqu'à ce que la condition de correspondance soit remplie. réussit, puis les trois éléments de données avant et après ainsi que l'élément de données actuel peuvent être renvoyés.
      Il existe peut-être d'autres méthodes internes plus puissantes, bienvenue sur le forum

    2. Une autre méthode consiste à ajouter périodiquement une colonne de nombres ou de caractères ordonnés en fonction des données de $natual:1, puis à l'enregistrer dans une autre nouvelle table, puis à interroger la nouvelle table en fonction de l'ID de la nouvelle table.Les données correspondantes sont finalement ajoutées de manière ordonnée via la colonne trouvée KEY: value Les données avant et après sont à nouveau interrogées.

    répondre
    0
  • Annulerrépondre