sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man söker genom Object value department.name

Du kan skicka din frågesträng i regex av populate.

5.js

const mongoose = require('mongoose');

let EmployeeSchema = new mongoose.Schema({
    Name: String,
    email: String,
    department: {ref: 'department', type: mongoose.Schema.Types.ObjectId}
});

let DepartmentSchema  = new mongoose.Schema({
name: String
});


run().catch((err) => console.log(err));

async function run() {
    await mongoose.connect('mongodb://localhost:27017/test', {
        useNewUrlParser: true,
        useUnifiedTopology: true,
    });
    await mongoose.connection.dropDatabase();

    const EmployeeModel = mongoose.model('employee', EmployeeSchema);
    const DepartmentModel = mongoose.model('department', DepartmentSchema);
    const departmentObj = new DepartmentModel({name: "software developer"});
    const {_id} = await departmentObj.save();
    const employeeObj = new EmployeeModel({email: '[email protected]', Name: "alexa", department: _id});
    const result = await (await employeeObj.save()).populate({path: 'department', match: {
       name: {$regex: 'soft'}
   }}).execPopulate()
   console.log(result)
}




  1. Matchningssökare med flera parametrar med Redis

  2. Mongodb v4.0 Transaktion, MongoError:Transaktionsnummer är endast tillåtna på en replikuppsättningsmedlem eller mongos

  3. MongoDB:Matcha flera arrayelement

  4. Hur man får avstånd - MongoDB Template Near-funktion