вставлять различные объекты и соответствовать существующей коллекции mon goose и express - PullRequest
0 голосов
/ 05 февраля 2020

первый вопрос здесь ..

сначала я хочу объяснить мою трудность здесь, пожалуйста, помогите мне.

Я изучаю mongodb, mon goose и express, моя проблема здесь в том, что я хочу сопоставить user database с pelatihan database.

, это пример вывода, который я уже делаю ->

{
    "nama": "asep hernawan",
    "email": "asepsp71@gmail.com",
    "nomor_pendaftaran": "1141112197116",
    "tanggal-lahir": "11/12/1971",
    "images": "Source URL to IMAGE",
    "pelatihan":{

    }
    "tokens": [{
        "_id": ""
        "token": "(should be user token that im already know how to generate with JWT)"
    }]
}

, вот схема. .

Администратор сначала входит в базу данных для обучения, потому что обучение действительно основано на расписании, и здесь pelatihan database должно выглядеть как

{
    "id": ""
    "nama_instansi": "akper_jakarta",
    "tanggal_pelatihan": "27/02/2020",
    "nama_pemimpin": "ibu. humairah",
    "jenis_pelatiihan": "btcls",
}

, после чего во время обучения пользователь будет зарегистрируйтесь на платформе Android и заполните данные в пользовательских данных. я хочу, чтобы пользователь вводил данные, включая kota_pelatihan, tanggal_pelatihan, и если kota_pelatihan и tanggal_pelatihan такие же, как в training database, вывод будет выглядеть следующим образом ->

{
    "id": "",
    "nama": "asep hernawan",
    "email": "asepsp71@gmail.com",
    "nomor_pendaftaran": "1141112197116",
    "tanggal-lahir": "11/12/1971",
    "images": "PDF FILE URL",
    "pelatihan": {
        "id": "",
        "kota_pelatihan": "jakarta",
        "nama_tempat": "akper jakarta",
        "tanggal_pelatihan": "27/02/2020",
        "jenis_pelatihan": "btcls"
    },
    "tokens": [{
        "_id": "",
        "token": "TOKENS FROM JWT"
    }]
}

это моя текущая пользовательская схема в действии ->

const userSchema = mongoose.Schema({
    nama: {
        type: String,
        required: true,
        trim: true
    },
    email: {
        type: String,
        required: true,
        unique: true,
        lowercase: true,
        validate: value => {
            if (!validator.isEmail(value)) {
                throw new Error({error: 'Invalid Email address'})
            }
        }
    },
    nomor_pendaftaran: {
        type: String,
        require: true
    },
    Images: {
        type: String,
        require: false
    },
    tanggal_lahir: {
        type: String,
        required: true,
    },
    logbook: {

    },
    sertifikat :{
        sertifikat_sos: Boolean,
        sertifikat_kementrian: Boolean,
        status: {
            dikemas: Boolean,
            dalam_perjalanan: Boolean,
            diterima: Boolean
        }
    },
    pelatihan: {
        nama_instansi: String,
        tanggal_pelatihan: String,
        jenis_pelatihan: String
    },
    tokens: [{
        token: {
            type: String,
            required: true
        }
    }]
});

Я действительно только изучаю Mon goose, MongoBb и Express, и это немного удручает. прости меня, если мои вопросы сложны, и прости мой английский sh, который не говорит свободно или хорошо, ура!

...