MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để lấy dữ liệu từ mảng trong mongoose?

tôi tạo ví dụ này có thể giúp bạn:

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. Thống kê trực quan cho Máy chủ MongoDB của bạn

  2. Trong bộ Mongo db chính-phụ, nếu bạn vô tình ghi vào tệp phụ, nó sẽ phản ánh trong bộ chính, nó sẽ được chuyển đến chính

  3. mongodb - thực hiện truy vấn hàng loạt

  4. Tổng hợp MongoDB với DBRef

  5. hiển thị tổng của tất cả các tệp đã tìm nạp được gửi trong trình điều khiển mongodb-nodejs