【Node.js】mongoose教程04--存储
2016-06-05 17:03
465 查看
Sodino
文章目录1. 数据准备
2. 单条数据存储
3. 多条数据批量存储
请确定已阅读【Node.js】mongoose教程—Schema与ModelGitHub源码链接:sodino#MongoDemo
为此准备了如下5个手机型号的数据:
由此,控制台打印如下:
其中,各个
在这里
在这里
下一篇:mongoose教程—查询About Sodino
文章目录1. 数据准备
2. 单条数据存储
3. 多条数据批量存储
请确定已阅读【Node.js】mongoose教程—Schema与ModelGitHub源码链接:sodino#MongoDemo
数据准备
为了对Phone进行存储以及后续的查询,需要提前准备一些手机型号的数据以供练习使用。为此准备了如下5个手机型号的数据:
123456789101112131415161718192021222324252627 | var Phone = mongoose.model('Phone', phoneSchema);var arrPhone = [];var raw;raw = require('./raw.iPhoneSE.json');var iPhoneSE = new Phone(raw);iPhoneSE.printBrief();arrPhone.push(iPhoneSE); raw = require('./raw.huawei.Mate8.json');var huaweiMate8 = new Phone(raw);huaweiMate8.printBrief();arrPhone.push(huaweiMate8); raw = require('./raw.mi.max.json');var miMax = new Phone(raw);miMax.printBrief();arrPhone.push(miMax); raw = require('./raw.samsung.S6Edge.json');var s6Edge = new Phone(raw);s6Edge.printBrief();arrPhone.push(s6Edge); raw = require('./raw.nokia1000.json');var nokia1000 = new Phone(raw);nokia1000.printBrief();arrPhone.push(nokia1000); |
1234567 | D:\desk\JavaScript\MongoDemo>node app.js---printBrief()---------------------------------------iPhone SE ¥4999Huawei Mate8 ¥4988Mi Max ¥1650Samsung S6 Edge ¥3850Nokia 1000 ¥200 |
.json的文件内容如下:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | // raw.iPhoneSE.json{ "device" : "iPhone SE", "isSmart" : "true", "releaseTime" : "2016-03-21 10:00:00", "price" : 4999, "apps" : [{"name" : "Safari"}, {"name" : "Map"}, {"name" : "Tinder"}], "manufacturer": { "name" : "Apple", "country" : "The United States" }}// raw.huawei.Mate8.json{ "device" : "Huawei Mate8", "isSmart" : "true", "releaseTime" : "2015-12-09 10:00:00", "price" : 4988, "apps" : [{"name" : "Alipay"}, {"name" : "CMB"}, {"name" : "NetEase Music"}, {"name" : "Tinder"}, {"name" : "WeChat"}, {"name" : "Gaode Map"}], "manufacturer": { "name" : "Huawei", "country" : "China" }}// raw.mi.max.json{ "device" : "Mi Max", "isSmart" : "true", "releaseTime" : "2015-04-17 10:00:00", "price" : 1650, "apps" : [{"name" : "MiChat"}, {"name" : "Didi"}, {"name" : "CMB"}], "manufacturer": { "name" : "Mi", "country" : "China" }}// raw.samsung.S6Edge.json{ "device" : "Samsung S6 Edge", "isSmart" : "true", "releaseTime" : "2015-12-09 10:00:00", "price" : 3850, "apps" : [{"name" : "Taobao"}, {"name" : "Didi"}, {"name" : "Radio"}, {"name" : "360 Camera"}], "manufacturer": { "name" : "Samsung", "country" : "South Korea" }}// raw.nokia1000.json{ "device" : "Nokia 1000", "isSmart" : "false", "releaseTime" : "2011-08-26 10:00:00", "price" : 200, "apps" : [{"name" : "System Phone"}, {"name" : "Radio"}], "manufacturer": { "name" : "Nokia", "country" : "Finland" }} |
单条数据存储
可以通过Model.save()很方便对单条数据进行存储。
在这里
save()是个
instance method。
1234567 | iPhoneSE.save((err, phone)=>{ if (err) { console.log(err); } else { console.log('Phone[' + phone.device + '] saved.'); }}); |
多条数据批量存储
也可以通过Model.insertMany()一次性批量存储多个。
在这里
save()是个
static method。
12345678910 | Phone.insertMany(arrPhone, (err, arrPhone)=>{ if (err) { console.log('insertMany() failed.'); } else { console.log('---insertMany()---------------------------------------'); console.log('All phone devices saved.insertMany() saved.'); } // 批量存储后,打印当前存储个数 Phone.printCount();}) |
相关文章推荐
- 【Node.js】mongoose教程03--Schema与Model
- 【Node.js】mongoose教程01--工程搭建
- 在Ubuntu上安装Node.js
- ubuntu搭建node.js+express
- Node学习笔记(三):基于socket.io web版你画我猜(一)
- nodejs(1)
- Angular + Node 生成 随机数
- Node.js之Express二
- node中的Stream-Readable和Writeable解读
- Node.js Hello
- Node.js
- LeetCode--No.24--Swap Nodes In Pairs
- [LeetCode]problem 116. Populating Next Right Pointers in Each Node
- windows平台上搭建node.js开发环境
- 237. Delete Node in a Linked Lis
- 文件系统(ext2) inode、block、superblock概念整理
- leetcode-Swap Nodes in Pairs-24
- 给裸接口加一道防护,避免恶意盗刷和爬取
- LeetCode Swap Nodes in Pairs
- leetcode 24. Swap Nodes in Pairs