表白:黑白圣堂血天使,天劍鬼刀阿修羅。';
講解對(duì)象:/MongoDB 字段驗(yàn)證
作者:融水公子 rsgz
===
需求:想將某個(gè)字段設(shè)置為必須字段 必須填寫
只需要轉(zhuǎn)變成對(duì)象的形式就行了 添加require布爾屬性let BookSchema = new mongoose.Schema({ title: { type:String, require:true } author: String, price: Number, is_hot: Boolean, tags: Array, pub_time: Date, test:mongoose.Schema.Types.Mixed // 任意類型 // docid:mongoose.Schema.Types.ObjectId // 必須是文檔id 一般這個(gè)作為外鍵 // num_float:mongoose.Schema.Types.Decimal128 // 指定高精度的數(shù)字類型 });
還有其他的字段驗(yàn)證const mongoose = require('mongoose'); // 執(zhí)行之前需要打開服務(wù)端 mongod.exe // 避開提醒 mongoose.set('strictQuery', true); // 連接數(shù)據(jù)庫(kù) 沒有就創(chuàng)建 mongoose.connect('mongodb://127.0.0.1:27017/bili'); // 4. 設(shè)置連接成功回調(diào) mongoose.connection.once('open', () => { console.log('連接成功'); }); async function createDocument(){ // 5. 創(chuàng)建文檔結(jié)構(gòu)對(duì)象+ 屬性值 let BookSchema = new mongoose.Schema({ title: { type:String, require:true // 必填項(xiàng) }, author: { type:String, default:'匿名' // 默認(rèn)值 }, gender:{ type:String, enum:['男','女'] // 枚舉值 設(shè)置的值必須是數(shù)組中 }, username:{ type:String, require:true, unique:true // 設(shè)置唯一值 unique 需要重建集合 才能有效果 }, price: Number, is_hot: Boolean, tags: Array, pub_time: Date, test:mongoose.Schema.Types.Mixed // 任意類型 // docid:mongoose.Schema.Types.ObjectId // 必須是文檔id 一般這個(gè)作為外鍵 // num_float:mongoose.Schema.Types.Decimal128 // 指定高精度的數(shù)字類型 }); // 6. 創(chuàng)建文檔模型對(duì)象 let BookModel = mongoose.model('book', BookSchema); const ObjectId = mongoose.Schema.Types.ObjectId // 7. 插入文檔 let res = await BookModel.create({ title: '西游記', // author: '吳承恩', gender:'男', username:'荒天帝', price: 19.9, is_hot:true, tags:['感人事跡','日記','回憶照片','思考人生'], pub_time:new Date(), test:'這里隨便數(shù)據(jù)類型都可以!!!' // docid:ObjectId // num_float:1546.15648654 }) if(res){ console.log(res); } } createDocument(); mongoose.connection.once('err', () => { console.log('連接失敗'); }); mongoose.connection.once('close', () => { console.log('連接關(guān)閉'); }); // 8. 斷開連接 setTimeout(() => {mongoose.disconnect();}, timeout=10000);===
公眾號(hào):不浪仙人謝謝大家的支持!可以點(diǎn)擊我的頭像,進(jìn)入我的空間瀏覽更多文章呢。建議大家360doc[www.360doc.com]注冊(cè)一個(gè)賬號(hào)登錄,里面真的有很多優(yōu)秀的文章,歡迎大家的到來。
---
聯(lián)系客服