1
我有這樣的模式:inArray貓鼬OBJECTID
var HuntGroupSchema = new Schema({
name : { type: String, required: true }
,domain : { type: ObjectId, required: true, ref: 'Domain' }
,members : [{ type: ObjectId, ref: 'User'}]
,email : { type: String, unique: true}
,pin : { type: Number, default: 0}
,extension : { type: Number, required: true}
,timescheme : { type: ObjectId, ref: 'TimeScheme'}
,ddi : { type: String}
});
,並有該數據
db.huntgroups.find()
{ "_id" : ObjectId("50373487947749f0370000b0"), "ddi" : "01376xxxxxx", "domain" : ObjectId("502807e9b9e737036d000018"), "email" : "[email protected]", "extension" : 3001, "members" : [ ObjectId("50376767b5c99cd862000003") ], "name" : "test22", "pin" : 1234 }
這個測試總是返回-1
// req.params['member'] === '50376767b5c99cd862000003'
var member_id = mongoose.Types.ObjectId(req.params['member']);
console.log($.inArray(member_id, huntgroup.members));
誰能告訴我爲什麼?
警告:我在貓鼬,jQuery和JavaScript的新手,所以要溫柔;)
哦。我很困惑jQuery的定義: jQuery.inArray():搜索數組中的指定值並返回其索引(或-1,如果未找到)。 我認爲「數組內的值」的意思就是:) 我會試試你的方法。 謝謝! – jmls
@ user1542325對於數字,布爾和字符串等基本類型,「inArray」會比較它們的值,但不會用於像ObjectId這樣的引用類型。 http://docstore.mik.ua/orelly/webprog/jscript/ch04_04.htm – JohnnyHK