MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да получа данни от масив в mongoose?

създавам този пример, който може да ви помогне:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да се справя с дата по-ниска от 1970 г. в MongoDB

  2. Използване на MongoDB $pull за изтриване на документи в масив

  3. MongoDB:преместване на поддокумент

  4. Как да направя заявка за агрегиране на Mongo в Spring Data?

  5. Mongoose версии:кога е безопасно да го деактивирате?