MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mongoose nie wypełnia (.populate()) w wersji produkcyjnej (Heroku), ale działa w trybie lokalnym

Twoja funkcja API wygląda dobrze.

Podejrzewam, że twój problem dotyczy konfiguracji twoich modeli lub tego, co znajduje się w twojej bazie danych. Kiedy pierwszy raz próbowałem użyć Heroku, miałem podobne problemy, ponieważ Localhost jest bardziej wyrozumiały.

Aby Twój interfejs API działał, należy skonfigurować następujące 3 rzeczy:

(1) Model file: people.js

musi wyglądać jak:

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;

A potem musisz mieć model „Przyjaciół”, do którego odnosi się „Ludzie”.

(2) Model file: friends.js

musi wyglądać mniej więcej tak:

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;

I wreszcie, aby .Populate działał, potrzebujesz co najmniej dwóch dokumentów w bazie danych.

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

musi wyglądać mniej więcej tak:

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

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

Mam nadzieję, że to pomoże lub przybliży Cię do odpowiedzi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sharding MongoDB, jak zmienia równowagę podczas dodawania nowych węzłów?

  2. Limit czasu połączenia z MongoDb na maszynie wirtualnej platformy Azure

  3. Jak wybrać tylko dopasowany dokument podrzędny mongodb za pomocą pythona?

  4. Wycinek zapytania MongoDB do golang

  5. Wyszukiwanie w MongoDB