Mongoose не заполняет (.populate ()) на производстве (Heroku), но работает на локальном

Вы пытались добавить строку и целое число. Кроме того, ваш окончательный вход не содержал кавычек вокруг строки You Win!. Вот код с исправленными проблемами:

import random
correct = random.randint(1, 100)
oldval = 50
newval = 50
while newval != correct:
    newval = newval + int(input("how much do you want to move?"))
    if (newval - correct) > (oldval - correct):
        print("Colder!")
    else:
        print("Warmer!")
    oldval = newval
win = input("You Win!")
0
задан daCoda 1 February 2019 в 03:17
поделиться

2 ответа

Это была проблема версии.

Нужно было убедиться, что все платформы (mLab и моя локальная база данных) использовали одну и ту же версию Mongoose.

npm install mongoose@5.4.8 --save 
0
ответ дан daCoda 1 February 2019 в 03:17
поделиться

Ваша функция API выглядит нормально.

Я подозреваю, что ваша проблема в том, как настроены ваши модели или что находится в вашей базе данных. У меня были подобные проблемы в первый раз, когда я пытался использовать Heroku, потому что Localhost более щадящий.

Чтобы ваш API работал, необходимо настроить следующие 3 вещи:

(1) Model file: people.js

должно выглядеть примерно так:

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;

И тогда вы должны иметь ' Модель друзей, на которую ссылается «Люди».

(2) Model file: friends.js

должно выглядеть примерно так:

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;

И, наконец, для работы .Populate вам нужно как минимум два документа в базе данных.

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

должно выглядеть примерно так:

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

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

Надеюсь, это поможет или приблизит вас к вашему ответу.

0
ответ дан Israel Peck 1 February 2019 в 03:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: