mongoHQ 및 mongoose에서 node.js, mongodb를 사용합니다. 카테고리에 대한 스키마를 설정하고 있습니다. 내 categoryId로 ObjectId 문서를 사용하고 싶습니다.몽구스에서 ObjectId를 데이터 형식으로 설정하는 방법
var mongoose = require('mongoose');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var Schema_Category = new Schema({
categoryId : ObjectId,
title : String,
sortIndex : String
});
나는 그때 카테고리 ID에 대한 값을 제공하지 않는
var Category = mongoose.model('Schema_Category');
var category = new Category();
category.title = "Bicycles";
category.sortIndex = "3";
category.save(function(err) {
if (err) { throw err; }
console.log('saved');
mongoose.disconnect();
});
공지 사항을 실행합니다. 나는 몽구스가 그것을 생성하기 위해 스키마를 사용할 것이라고 생각했지만, 문서는 "categoryId"가 아닌 일반적인 "_id"를 가지고있다. 내가 도대체 뭘 잘못하고있는 겁니까?
완벽한 답변! 감사합니다. – idophir
가상 속성을 설정 한 후 시도 : db.cats.find ({categoryId : ObjectId ("id")})) 결과가 없습니다. 내가 db.cats.find를 사용할 때 ({_ id : ObjectId ("id")}) 나는 의사를 다시 얻었습니다. 따라서 가상 속성을 검색에 사용할 수없는 것처럼 보입니다. 모든 ID에 대해 _id를 사용하는 대신 명확한 이름을 사용하여 각 ID를 참조 할 수 있다면 코드 관리가 더 쉬울 것이라고 생각합니다. 그냥 생각 ... – idophir