2013-07-30 9 views
7

特定の属性を設定する必要があるmongodbにスキーマを定義できますか? SQLではNOT NULLとよく似ています。それが可能ならば。これの構文は何ですか?mongodbコレクションに属性を設定する必要はありますか? (nullではない)

私はnode.jsとmongooseを使用しています。 マングースv3.6.15 のMongoDB v2.4.5

編集 チャールズ・Aが提供する答えが正しいですが、私はマングースに、スキーマdefenitionに必要に応じてフィールドを定義することも可能であることがわかったドキュメントを見このように:マングースで

foo : { 
    bar : { type : String, required : true } 
} 
+0

を?私は春のJavaでそれを行う方法を知っています。 – Jayz

+0

@Jayz最新の詰め込みで回答... –

+0

@ LudwigMagnussonこの質問に対する別の回答として独自の回答を追加し、これを実行するには、「必須:true」を使用することが最善の方法です。 – JohnnyHK

答えて

7

、あなたはそれを保存する前にフィールドが設定されているかどうかを確認するためにvalidatorを使用することができます。私が知る限り、スキーマ上にフィールドが必要であることを指定する方法はないので、もう少し定型的なコードが必要です。

-3

この質問に対する一般的な答えは、Mongooseには関係しません。すべての文書に特定のキーを要求できるかどうかは簡単なMongoDBの質問です。

答えは:はい。このコレクションに一意のインデックスを作成します。インデックスは必須フィールドである必要があります。値がnullのフィールドを持つドキュメントが1つしかないため、すべてのドキュメントでそのフィールドの存在が強制されます。これを「疎」で倒す。

参照:ユニーク索引の​​

具体的には、セクション。これは 'ハッシュ'型のフィールドでは機能しません。必要なフィールドについて

+6

しかし私はそれが一意であることを必要としません... –

関連する問題