recherche

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

mongodb - 如何根据嵌套的属性值查找(第一层属性值是数组)?

示例代码如下:

var UserSchema = new Schema({
    interactions: [{
        interactor: {
            type: Schema.Types.ObjectId,
            ref: 'User'
        }
    }]
});

我现在想根据userId匹配所有interactor的值为userId的interaction,用mongoose如何能做到呢?

巴扎黑巴扎黑2765 Il y a quelques jours680

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

  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:13:50

    J'ai trouvé une solution au problème de matching, qui est très intuitive :

    User.find({
        'interactions.interactor': mongoose.Types.ObjectId(user._id)
    }, function (err, users) {
    }
    

    Mais dans la fonction de rappel, je mettrai à jour plusieurs utilisateurs correspondants. Comment dois-je l'enregistrer après la mise à jour ? S'il n'y a pas de méthode users.save(), dois-je écrire moi-même une sauvegarde de boucle ?

    répondre
    0
  • Annulerrépondre