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

làm cách nào tôi có thể viết lại truy vấn mongoose của mình sau khi tách dữ liệu từ một mô hình thành hai mô hình?

Trước tiên, tôi khuyên bạn nên đi với một truy vấn điền, nếu bạn cảm thấy rằng việc điền đó không cung cấp cho bạn dữ liệu mà bạn cần, bạn có thể chạy hai truy vấn và hợp nhất các kết quả đó.

cho dân cư, tôi đã tìm thấy giải pháp từ tài liệu chính thức của mongoose. bạn có thể làm như thế này.

var mongoose = require('mongoose')
  , Schema = mongoose.Schema

var personSchema = Schema({
  _id     : Number,
  name    : String,
  age     : Number,
  stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});

var storySchema = Schema({
  _creator : { type: Number, ref: 'Person' },
  title    : String,
  fans     : [{ type: Number, ref: 'Person' }]
});

var Story  = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);

Story
.findOne({ title: 'Once upon a timex.' })
.populate('_creator')
.exec(function (err, story) {
  if (err) return handleError(err);
  console.log('The creator is %s', story._creator.name);
  // prints "The creator is Aaron"
});

đây là liên kết doc: http://mongoosejs.com/docs/populate.html




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tìm tài liệu mongodb bằng cách sử dụng chuỗi _id một phần

  2. Hoàn tác Thư giãn tổng hợp trong mongodb

  3. MongoDB $ pullAll

  4. Không thể cài đặt mongo-php-driver trên OS X 10.11

  5. MongoDB $ tuần