답변:
당신은 그렇게 할 수 있습니다 :
var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId('4edd40c86762e0fb12000003');
다음과 같이 할 수 있습니다 :
var mongoose = require('mongoose');
var _id = mongoose.mongo.BSONPure.ObjectID.fromHexString("4eb6e7e7e9b7f4194e000001");
편집 : 새로운 표준에는 fromString이 아닌 fromHexString이 있습니다.
mongoose.mongo
. 아무도 확인할 수 있습니까?
var mongoose = require('mongoose');
var _id = mongoose.mongo.ObjectId("4eb6e7e7e9b7f4194e000001");
mongoose.Types.ObjectId
와 mongoose.mongo.ObjectId
? 몽구스의 객체 속성은 다르지만 아래에서 동일한 방법을 참조하고있을 수 있습니다. Types
vs 의 기본 방법에 대해 의견을 말하십시오 mongo
.
이 방법을 해결할 수 없었습니다 (물론 오랫동안 검색하지 않았습니다)
mongoose.mongo.BSONPure.ObjectID.fromHexString
스키마가 속성이 ObjectId 유형 인 것으로 예상하면 변환은 암시 적입니다. 최소한 4.7.8의 경우처럼 보입니다.
그러나 다음과 같은 것을 사용할 수 있습니다.
function toObjectId(ids) {
if (ids.constructor === Array) {
return ids.map(mongoose.Types.ObjectId);
}
return mongoose.Types.ObjectId(ids);
}
express 및 mongoose를 통해 REST API를 구현하는 경우 아래 코드 스 니펫을 참조하십시오. (ADD의 예)
....
exports.AddSomething = (req,res,next) =>{
const newSomething = new SomeEntity({
_id:new mongoose.Types.ObjectId(), //its very own ID
somethingName:req.body.somethingName,
theForeignKey: mongoose.Types.ObjectId(req.body.theForeignKey)// if you want to pass an object ID
})
}
...
그것이 도움이되기를 바랍니다.