sql >> データベース >  >> NoSQL >> MongoDB

移入に応じてパスの名前を変更する方法

    これは、mongooseバージョン4.5で導入された仮想データによって実行できます。そのためには、マングーススキーマで仮想フィールドを定義する必要があります。

    var GallerySchema = new mongoose.Schema({
        name: String,
        objectId: {
            type: mongoose.Schema.Types.ObjectId
        },
    });
    
    GallerySchema.virtual('user', {
        ref: 'User',
        localField: 'objectId', 
        foreignField: '_id' 
    });
    

    検索クエリを実行するときは、ユーザーを入力するだけです。

    Gallry.find({_id: galleryId}).populate('user','firstName lastName').exec(function(error, gallery) {
        console.log(error);
        console.log(gallery);;
    });
    

    上記のコードはプログラムでテストされていません。タイプミスがある可能性があります。以下のリンクでマングース仮想データの詳細を確認できます

    http://mongoosejs.com/docs/populate.html




    1. XFSとEXT4–AWSEC2でのMongoDBパフォーマンスの比較

    2. ノード/redisとコールバックの制御フローの問題?

    3. mgoクエリからObjectIdHex値を取得します

    4. 'autoIndexID'は有効なコレクションオプションではありません--mongoDB