0
ノードjsを使用してmongoDBのサブドキュメントに値を追加します。 スキーマは次のとおりです。Nodejsを使用してMongoDBのSuドキュメントを照会する
var commentSchema = new Schema({
author:String,
data:String,
postedAt:Date
});
var likeSchema = new Schema({
likedBy:{
type:Array,
default:[""]
},
numOfLikes:{
type:Number,
default:0
}
});
var picSchema = new Schema({
url:String,
likes:[likeSchema],
comments:[commentSchema]
});
var statusSchema = new Schema({
data:String,
likes:[likeSchema],
comments:[commentSchema]
});
var profileSchema = new Schema({
username:String,
password:String,
DOB :Date,
sex: String,
Address:String,
pic:[picSchema],
Status:[statusSchema]
});
私は一人のユーザーが他のユーザーのPICにコメントを追加したいです。私は今使用しています 方法は次のとおりです。
profile.update({"username":recepient,"pic._id":id},{$set:{"pic.comments":{"author":user,"data":comment,"postedAt":new Date()}}}},function(err,data){
if (err){
throw err;
}else{
console.log(data);
res.status(200).json({status:"Added successfully"});
}
としてここで私はエラーを取得しています:横断するpic.commentsの一部の写真を使用することはできません。私のように更新ステートメントを使用していた場合
:
profile.update({"username":recepient,"pic._id":id},{$set:{"comments":{"author":user,"data":comment,"postedAt":new Date()}}},function(err,data){
if (err){
throw err;
}else{
console.log(data);
res.status(200).json({status:"Added successfully"});
}
私はエラーを取得していないのですが、値が追加取得されていません。
更新ステートメントまたはスキーマに間違いがありますか?
このデータベースは別のファイルで定義されています。そこから私はprofileSchemaモジュールをエクスポートしています。このエクスポートは、現在、パスポート認証のように他の場所でも使用されています。したがって、データベースファイルに2つのエクスポートステートメントを書き込むと、パスポート認証機能でエラーが発生します。なぜなら、エクスポートされた 'module'がどこから呼び出されたのかというファイルが必要なのです。 これはどうですか? –