Mongoose: $lt ๋ฐ $gt ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ObjectIds์— ๋Œ€ํ•ด ์ฟผ๋ฆฌ

์— ๋งŒ๋“  2014๋…„ 09์›” 03์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Automattic/mongoose

์ผ๋ฐ˜์ ์ธ _id ์†์„ฑ์ด ์žˆ๋Š” ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ€์ •ํ•˜๊ณ  $gt ์—ฐ์‚ฐ์ž๋กœ ์ฟผ๋ฆฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋™๋“ฑํ•œ MongoDB ์ฟผ๋ฆฌ:

db.applications.find({ _id : { $gt : ObjectId("53ddb3c00000000000000000") } })

๊ทธ๋Ÿฌ๋‚˜ ๋ชฝ๊ตฌ์Šค ์ธก์—์„œ๋Š” ObjectId ์œ ํ˜•์˜ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋‹ค์Œ์„ ๋˜์ง‘๋‹ˆ๋‹ค.

var minimumObjectId = new mongoose.Schema.ObjectId(minimumObjectIdString);
Applcation.find({ _id : { $gt : minimumObjectId } }) 
/*
{ [CastError: Cast to ObjectId failed for value "ObjectId('53de7ea3000000000000000')" at path "_id"]
  message: 'Cast to ObjectId failed for value "ObjectId(\'53de7ea3000000000000000\')" at path "_id"',
  name: 'CastError',
  type: 'ObjectId',
  value: 'ObjectId(\'53de7ea3000000000000000\')',
  path: '_id' }
*/

๊ฐ„๋‹จํ•œ ๋ฌธ์ž์—ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ:

Application.find({ _id : { $gt : minimumObjectIdString } })

๋‚˜๋Š” ์‹ฌ์ง€์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฏธ์นœ ๊ฒƒ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Application.find({ _id : { $gt : "ObjectId('" + minimumObjectIdString + "')" } })

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

๋ชจ๋“  3 ๋Œ“๊ธ€

@ vkarpov15 , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์‹œ๋„ํ–ˆ์„ ๋•Œ ๊ธฐ๋ณธ mongo-native-driver์—์„œ๋„ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Application.collection.find({ _id : { $gt : "53f0c1850000000000000000" } }, function(err, cursor) {
    console.log(err)
    cursor.toArray(function(results){
        console.log(results);
    })
})

minimumObjectIdString ์„(๋ฅผ) ์–ป๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹น์‹ ์€ ์‚ฌ์šฉํ•ด์•ผ mongoose.Types.ObjectId ๋Œ€์‹  mongoose.Schema.ObjectId

var minimumObjectId = new mongoose.Types.ObjectId(minimumObjectIdString);
Applcation.find({ _id : { $gt : minimumObjectId } }) 

๋ฌธ์ž์—ด๋กœ๋„ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰