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

マングースの配列からデータを取得する方法は?

    私はあなたを助けることができるこの例を作成します:

    var async=require('async');
    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    var uri = 'mongodb://localhost/myDb';
    mongoose.connect(uri);
    
    // define a schema
    var ProjectSchema = new Schema({
        projectName: "String",
        projectManager: "String",
        task: [{
            taskName: "String",
            timetakeninhrs: "String"
        }]
    });
    
    // compile our model
    var Project = mongoose.model('Project', ProjectSchema);
    
    // create a documents
    var Project01 = new Project({
        projectName: "Project01",
        projectManager: "Manager01",
        task: [{
            taskName: "tsk01_Project01",
            timetakeninhrs: "1111-1111"
        }, {
            taskName: "tsk02_Project01",
            timetakeninhrs: "1111-2222"
        }, {
            taskName: "tsk03_Project01",
            timetakeninhrs: "1111-3333"
        }, {
            taskName: "tsk04_Project01",
            timetakeninhrs: "1111-4444"
        }]
    });
    
    var Project02 = new Project({
        projectName: "Project02",
        projectManager: "Manager02",
        task: [{
            taskName: "tsk01_Project02",
            timetakeninhrs: "2222-1111"
        }, {
            taskName: "tsk02_Project02",
            timetakeninhrs: "2222-2222"
        }, {
            taskName: "tsk03_Project02",
            timetakeninhrs: "2222-3333"
        }, {
            taskName: "tsk04_Project02",
            timetakeninhrs: "2222-4444"
        }]
    });
    
    //delete existing documents and create them again
    Project.remove({}, function() {
        Project01.save(function() {
            Project02.save(function() {
                //for example we find taskName: "tsk03_Project02"
                Project.find({'task': {$elemMatch: {taskName: "tsk03_Project02"}}},'task.taskname task.timetakeninhrs',function(err, docs) {
                    if (!err) {
                        console.log(docs);
                    }
                });
            });
        });
    });
    


    1. 春のMongoPopulatorを1つずつ

    2. 大規模なMongoDBとの多対多の関係

    3. MongoDBのアップサートガイド

    4. PyMongoが発生[errno49]は、多数のクエリの後に要求されたアドレスを割り当てることができません