Ошибка приведения к ObjectID для значения \ "In \" по пути \ "c_id \" ", - PullRequest
0 голосов
/ 28 августа 2018

Я создал одну коллекцию, и это значение хранится в mongodb, как показано ниже. Это коллекция страны

 "_id" : ObjectId("5b851243c8352016e4b70d36"),
 "is_active" : true,
 "country_code" : "IND",
 "country_name" : "India ",
 "__v" : 0

Я хочу создать коллекцию штатов, используя коллекцию стран, как показано ниже

"_id" : ObjectId("5b852a6e91088217804a1996"),
 "is_active" : true,
 "country_id" : "India",[here i want to fetch country collection _id(objectId)]
 "state_code" : "KA",
 "state_name" : "Karnataka",
 "__v" : 0

state.js:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
var ObjectId = require('mongoose').Types.ObjectId

const State = new Schema({
    country_id:{
        type: mongoose.Schema.Types.ObjectId,
        ref:'Country'
    },
    state_code:String,
    state_name:String,
    is_active:{ type: Boolean, default:true, required: true },

});

module.exports = mongoose.model('State',State);

когда я передаю значения от почтальона, я получаю сообщение об ошибке, как показано ниже

"name": "CastError",
                "stringValue": "\"India\"",
                "kind": "ObjectID",
                "value": "India",
                "path": "country_id",

Я прошу req.body, как показано ниже

"country_id":"India",
"state_code":"KA",
 "state_name":"Karnataka",
  "is_active":true,

Есть ли какой-нибудь способ определить или получить доступ к внешнему ключу в mongodb? Я искал везде, все еще получаю ошибку

1 Ответ

0 голосов
/ 28 августа 2018

Включить Objectid в файл, как указано ниже

var ObjectId = require('mongodb').ObjectID;

Затем вы должны передать req.body, как это указано ниже

"country_id": ObjectId("5b851243c8352016e4b70d36"),
"state_code":"KA",
"state_name":"Karnataka",
"is_active":true,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...