Node操作MongoDB增删改查

导入json数据到数据库

mongoimport -d playground -c user  --file ./user.json

如果导入不成功 ,在电脑环境变量PATH添加MongoDB的路径。

 

 1 // 引入mongoose第三方模块 用来操作数据库
 2 const mongoose = require('mongoose');
 3 // 数据库连接
 4 mongoose.connect('mongodb://localhost/playground', { useUnifiedTopology: true , useNewUrlParser: true })
 5     // 连接成功
 6     .then(() => console.log('数据库连接成功'))
 7     // 连接失败
 8     .catch(err => console.log(err, '数据库连接失败'));
 9 
10 // 创建集合规则
11 const userSchema = new mongoose.Schema({
12     name: String,
13     age: Number,
14     email: String,
15     password: String,
16     hobbies: [String]
17 });
18 
19 // 使用规则创建集合
20 const User = mongoose.model('User', userSchema);
21 
22 //查询
23 //查询用户集合中所有文档
24 // User.find().then(result =>console.log(result));
25 
26 //find也可以根据条件查询
27 // User.find({_id:'5f9f997b3550fbb052d377bc'}).then(result =>console.log(result));
28 
29 //findOne方法返回一条文档,如果不给条件返回当前集合中第一条文档
30 // User.findOne({name:'张三'}).then(result =>console.log(result));
31 
32 //查询年龄大于20并且小于560的文档的所有信息
33 // User.find({age: {$gt:20 , $lt:60}}).then(result =>console.log(result));
34 
35 //查询hobbies字段包含吃饭的文档的所有信息
36 // User.find({hobbies:{$in:['吃饭']}}).then(result =>console.log(result));
37 
38 //查询字段name email 多个字段已空格 隔开  去掉ID前面加上-
39 // User.find().select('name email -_id').then(result =>console.log(result));
40 
41 //将数据按照年龄进行排序(升序)
42 // User.find().sort('age').then(result =>console.log(result));
43 //将数据按照年龄进行排序(倒序)
44 // User.find().sort('-age').then(result =>console.log(result));
45 
46 //跳过前两个查询后三个
47 // User.find().skip(2).limit(3).then(result =>console.log(result));
48 
49 
50 
51 //删除
52 //删除ID为5f9f997b3550fbb052d377be的信息
53 // User.findOneAndDelete({_id: '5f9f997b3550fbb052d377be'}).then(result =>console.log(result));
54 
55 //删除User中所有文档
56 // User.deleteMany({}).then(result =>console.log(result));
57 
58 //更新
59 
60 //王二麻子改成徐铁皮
61 // User.updateOne({name:'王二麻子'},{name:'徐铁皮'}).then(result =>console.log(result));
62 
63 //更新所有文档age改为18
64 // User.updateMany({},{age: 18}).then(result =>console.log(result));

 

posted @ 2020-11-02 15:11  铁马冰河入_来  阅读(168)  评论(0编辑  收藏  举报