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

Mongoose không điền (.populate ()) trên Sản xuất (Heroku), nhưng hoạt động trên Địa phương

Hàm API của bạn có vẻ ổn.

Tôi nghi ngờ vấn đề của bạn là với cách thiết lập mô hình của bạn hoặc những gì nằm trong cơ sở dữ liệu của bạn. Tôi đã gặp vấn đề tương tự trong lần đầu tiên tôi cố gắng sử dụng Heroku, vì Localhost dễ tha thứ hơn.

Để API của bạn hoạt động, bạn phải thiết lập 3 điều sau:

(1) Model file: people.js

phải trông giống như sau:

var mongoose = require("mongoose");
var Schema = mongoose.Schema;

var peopleSchema = new Schema({

  name: {
    type: String,
    required: true,
    trim: true
  },

  friends: [{
    type: Schema.Types.ObjectId,
    ref: "Friends"
  }]
});

const People = mongoose.model('Peoples', peopleSchema);

module.exports = People;

Và sau đó, bạn phải có mô hình 'Bạn bè', mô hình 'Mọi người' đang tham chiếu.

(2) Model file: friends.js

phải trông giống như sau:

var mongoose = require("mongoose");
var Schema = mongoose.Schema;

// Create the Comment schema
var friendsSchema = new Schema({

  friend_name: {
    type: String,
    required: true,
    trim: true
  },
});

const Friends = mongoose.model('Friends', friendsSchema);

module.exports = Friends;

Và cuối cùng, để .Populate hoạt động, bạn cần ít nhất hai tài liệu trong cơ sở dữ liệu.

(3) Database must contain a Person doc and a Friend doc 

phải trông giống như sau:

people.js : 
    "_id": {
            "$oid": "5bef3480f202a8000984b3c5"
    }, 
    "name": "Monica Geller"
    "friends": [
        {
            "$oid": "5bef3480f202a8000984b5b4"
        }
    ]

friends.js :
    "_id": {
            "$oid": "5bef3480f202a8000984b5b4"
    },
    "friend_name": "Rachel Green"

Hy vọng rằng điều này sẽ hữu ích hoặc giúp bạn gần hơn với câu trả lời của mình.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lọc bộ sưu tập MongoDb nếu mảng trường và mảng đối số giao nhau

  2. Đơn hàng MongoDB / nhóm tổng hợp doanh số mỗi tháng Tổng cộng + Trường đếm

  3. Mongoose Đang cố gắng mở kết nối chưa được đóng kín

  4. Truy vấn MongoDB dựa trên số lượng tài liệu được nhúng

  5. Làm cách nào để lưu nhiều bộ sưu tập mongodb bằng Promise?