recherche

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

mongodb - spring data mongo使用@DBRef,怎么查询指定字段的集合

我需要查询Archive表,获取Archive.title和User.name字段的结果集(按需),请问可以怎么操作?没找到答案,请指点一二,谢谢!

高洛峰高洛峰2761 Il y a quelques jours783

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

  • 伊谢尔伦

    伊谢尔伦2017-04-28 09:08:08

    Mongodb ne prend pas en charge la jointure et votre dbref n'est pas en mode de chargement paresseux, donc lors de la vérification de l'archive, l'utilisateur sera également trouvé.
    Vous pouvez utiliser des instructions de requête telles que hsql d'hibernate pour implémenter archive.title et archive.user, mais vous ne pouvez pas interroger aechive.user.name seul.
    Mongodb est une base de données non relationnelle, qui encourage la redondance des champs et la redondance des requêtes, donc la situation que vous avez mentionnée est vraiment difficile à mettre en œuvre

    répondre
    0
  • 某草草

    某草草2017-04-28 09:08:08

        @Query(value = "{'id':?0, 'disabled':false}", fields = "{'$id':1, 'success_ret_codes':1}")
        Stream findSuccessRetCodes(String streamId);

    En utilisant les champs ci-dessus, un seul champ peut manquer et les autres champs sont nuls.
    Mais les données de la table commune ne peuvent pas être interrogées, car la table Archive stocke l'ID et le nom de la table commune. , donc ici seulement j'ai découvert l'ID, je l'ai testé et j'ai directement vérifié le nom de la table commune et signalé une erreur. Alors voilà.

    répondre
    0
  • 怪我咯

    怪我咯2017-04-28 09:08:08

    J'ai rencontré le même problème que vous, et je n'ai pas trouvé de moyen d'obtenir uniquement certains champs dans certains objets DBRef. Même solution.
    Pour votre problème, vous pouvez essayer la méthode de cet article. Mon problème est un peu plus compliqué que le vôtre :
    http://blog.csdn.net/congcong...

    répondre
    0
  • Annulerrépondre