デフォルトでは、スキーマのlocation
フィールドを非表示にします。Mongoose select:falseネストされたオブジェクトの位置で機能しない
User.find({ }, function(err, result){ console.log(result[0]); });
が出力され::
{
cellphone: '+33656565656',
location: { type: 'Point', coordinates: [Object] } <-- Shouldn't
}
var userSchema = new mongoose.Schema({
cellphone: {
type: String,
required: true,
unique: true,
},
location: {
'type': {
type: String,
required: true,
enum: ['Point', 'LineString', 'Polygon'],
default: 'Point'
},
coordinates: [Number],
select: false, <-- here
},
});
userSchema.index({location: '2dsphere'});
は呼び出すとき...私はそれに
select: false
プロパティを追加しましたが、文書を選択する際には、常に返されます 編集:説明(@alexmacに感謝)
スキーマタイプ選択オプションは、タイプではなくフィールドオプションに適用する必要があります。あなたの例では、複合タイプの場所を定義し、タイプに選択オプションを追加しました。
何findOneについて、それを返したりしませんか? – libik
問題は解決されました。そして、はい、findOneもそれを返しました:) – FrenchFalcon
解決策を共有した方が良いでしょう。 @MalteseFalcon – Cozzbie