mongoose find メソッドを使用して、不明なオブジェクト上のオブジェクトを見つけようとしています。よりよく説明するコードを次に示します。
ここに私のモデルがあります:
var Screen = new mongoose.Schema({
id : Number,
pid : Number,
uploaded : {type: Date, default: Date.now },
name : String,
url : String,
shorty : String
});
var User = new mongoose.Schema({
id : Number,
mail: { type : String, match : /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/ },
pass: String,
token: String,
inscDate: { type: Date, default: Date.now },
lastConnec: { type: Date, default: Date.now },
screens: [Screen],
lastIp : String,
valid : { type: Boolean, default : 0}
});
var UserModel = mongoose.model('users', User);
var ScreenModel = mongoose.model('screens', Screen);
つまり、私のユーザー モデルには画面の配列が含まれているということです。基本的には不明なユーザーの正確な画面を検索したい。このようなことをする:
var query = UserModel.find({'screens.shorty' : shorty});
query.exec(function(err, screenR) {
});
しかし、このコードはクラッシュし、私が試した他の同様のコードでは、空の配列以外は何も返されませんでした。そして、私の検索は間違っていません (正確な文字列をコピーしようとしました)。
それを行う方法はありますか?