mongoHQとmongooseでnode.js、mongodbを使用する。カテゴリのスキーマを設定しています。ドキュメントObjectIdをcategoryIdとして使用したいと思います。mongooseのデータ型としてObjectIdを設定する方法
var mongoose = require('mongoose');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var Schema_Category = new Schema({
categoryId : ObjectId,
title : String,
sortIndex : String
});
私はその後、私は区分コードの値を提供しない
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();
});
お知らせを実行します。私はmongooseがそれを生成するためにスキーマを使用すると仮定しましたが、ドキュメントには通常 "_id"があり、 "categoryId"はありません。私は間違って何をしていますか?
完璧な回答! ありがとう! – idophir
仮想プロパティを設定した後、私は試しました: db.cats.find({categoryId:ObjectId( "id")}))がnullの結果を得ました。 私はdb.cats.findを使用します({_ id:ObjectId( "id")})私はdocを取得しました。したがって、仮想プロパティを検索に使用できないように見えます。 すべてのIDに_idを使用するのではなく、明確な名前を使用して各IDを参照できる場合は、コードを管理する方が簡単だと思います。ちょっと考えて... – idophir