1
mongoose addToSetを使用して、複数のObjectIdをサブドキュメント配列に追加しようとしています。私は単一のサブ文書を追加するための同様の方法を使用しましたが、私は複数のサブ文書を追加する方法を把握しようとしています。MongooseでaddToSetを使って複数のObjectIdを追加するには?
プロジェクトモデル
import mongoose from 'mongoose';
var Schema = mongoose.Schema;
const ProjectSchema = new Schema({
title: {
type: String
},
files: [{
type: Schema.ObjectId,
ref: 'File'
}]
});
export default mongoose.model('Project', ProjectSchema);
ファイルモデル
import mongoose from 'mongoose';
var Schema = mongoose.Schema;
const FileSchema = new Schema({
fileUrl: {
type: String
},
date: {
type: Date
}
});
export default mongoose.model('File', FileSchema);
コントローラ
Project.create({fileUrl: req.fileUrl}, (err, proj) => {
if (err) {
console.log(err);
return res.status(400).send(err);
} else {
File.distinct('_id', {date: {"$lt": req.date }}).exec((err, files) => {
if (err)
return (err)
var added = new File([files]) <-----THE PROBLEM
proj.files.addToSet(added)
proj.save()
return res.status(200).send('OK');
})
}
});
//通常、私は希望あなたは非常に接近している (例)
var foo = new File(file)
proj.files.addToSet(foo)
proj.save()