0
ネストされたドキュメントを持つmongooseスキーマにobjectIdを割り当てようとしています。しかし、何らかの形でそれが保存されると、ObjectIdが変更されます。オブジェクトIDがマングースで変更される
review.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var user = require('./user.js');
var reviewSchema = new Schema({
item_id:String,
review:[{
item_review:String,
user: {type: Schema.Types.ObjectId,ref: 'user'}
}]
},{ versionKey: false });
module.exports = mongoose.model('review',reviewSchema);
user.jsの
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var user = new Schema({
_id:String,
login_type:Number, // 0 :facebook, 1: google
profile_img:String,
ph_no:Number,
email_id:{type:String,required:true}
},{ versionKey: false });
module.exports = mongoose.model('user',user);
reviews.js私は実際のIDを変更することなく、両方のモデルを接続することができますどのように
var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var reviews = require('./../model/review.js');
var user = require('./../model/user.js');
var getReview = function(req,res) {
reviews
.findOne({'item_id':req.body.item_id.trim()})
.populate('user')
.exec(function (err, review) {
if (err) res.json({
status:'400',
message:'There is no data available'
});
res.send({
status:'200',
message:'Review List',
data:review
});
});
};
var addreview = function(req,res) {
reviews.findOne({'item_id':req.body.item_id.trim()},function(err,revie){
if (err) res.json({
status:'400',
message:'Oops, feedback can not be submitted'
});
if(revie){
revie.review.push({
item_review:req.body.item_review.trim(),
user : mongoose.Types.ObjectId(req.body.user_id)
// user_id:req.body.user_id.trim(),
// user_name:req.body.user_name.trim()
});
revie.save(function(err,review){
res.json({
status:'200',
message:'Thanks for your feedback'
});
});
}
else {
var newReview = new reviews();
newReview.item_id = req.body.item_id.trim();
newReview.review.push({
item_review:req.body.item_review.trim(),
user : mongoose.Types.ObjectId(req.body.user_id)
});
newReview.save(function(err,review){
res.json({
status:'200',
message:'Thanks for your feedback'
});
});
}
});
};
module.exports = {addreview,getReview};
?
review.jsの代わりにuser.jsを2回ペーストしたようです。 –
気付いてありがとうございます。私は自分の質問を更新しました –
最初の数文はあいまいです。私が** req.body.user_id **を** user **に割り当てると、より多くの詳細を –