中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs漸入佳境[18]-mongodb-node增刪查改

發布時間:2020-07-02 05:30:20 來源:網絡 閱讀:131 作者:jonson_jackson 欄目:開發技術
1
> npm install --save mongodb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//mongodb 3以上寫法
const MongoClient = require('mongodb').MongoClient;

//TodoApp是一個數據庫名字,mongo中不需要創建數據庫
MongoClient.connect('mongodb://localhost:27017/TodoApp',(err,client)=>{
   if(err){
     return console.log('Unable to connect to MongoDB server');
   }
   console.log('Connect to MongoDB server');
 const db = client.db('TodoApp');

 //插入數據
 db.collection('Todos').insertOne({
   text:'Something to do',
   completed:false
 },(err,result)=>{
   if(err){
       return console.log('unable to insert todo',err);
   }
       console.log(JSON.stringify(result.ops,undefined,2));
 });
//關閉客戶端
 client.close();

});

id

插入一個對象的時候,會自動的產生一個隨機的id。id包含了時間戳和機器識別碼。
我們可以借助與mongo的方法,為我們產生一個隨機數。

1
2
3
4
5
const {MongoClient,ObjectID} = require('mongodb');
var obj = new ObjectID();
console.log(obj);
//返回時間
console.log(obj.getTimestamp());

參考資料:
MongoDB Node.js Driver Documentation
node-mongodb-native

查詢

原始數據:

1
2
3
4
5
6
7
8
9
10
11
12
[
 {
   "_id": "5bee9e3794c5f22eb989f6eb",
   "text": "Something to do",
   "completed": false
 },
 {
   "_id": "5beeaf0a2d48eb2b7c90758f",
   "text": "Something to do",
   "completed": true
 }
]

js代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const {MongoClient,ObjectID} = require('mongodb');

MongoClient.connect('mongodb://localhost:27017/TodoApp',(err,client)=>{
   if(err){
     return console.log('Unable to connect to MongoDB server');
   }
   console.log('Connect to MongoDB server');
 const db = client.db('TodoApp');

 //返回所有document
 db.collection('Todos').find().toArray().then((docs)=>{
   console.log('Todos');
   console.log(JSON.stringify(docs,undefined,2));
 },(err)=>{
   console.log('unable to fetch todos', err);
 })

 client.close();
});

執行代碼返回:

1
2
3
4
5
6
7
8
9
10
11
12
[
 {
   "_id": "5bee9e3794c5f22eb989f6eb",
   "text": "Something to do",
   "completed": false
 },
 {
   "_id": "5beeaf0a2d48eb2b7c90758f",
   "text": "Something to do",
   "completed": true
 }
]

篩選

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const {MongoClient,ObjectID} = require('mongodb');

MongoClient.connect('mongodb://localhost:27017/TodoApp',(err,client)=>{
   if(err){
     return console.log('Unable to connect to MongoDB server');
   }
   console.log('Connect to MongoDB server');
 const db = client.db('TodoApp');
 db.collection('Todos').find({completed:true}).toArray().then((docs)=>{
   console.log('Todos');
   console.log(JSON.stringify(docs,undefined,2));
 },(err)=>{
   console.log('unable to fetch todos', err);
 })

 client.close();

});

執行代碼返回:

1
2
3
4
5
6
7
[
 {
   "_id": "5beeaf0a2d48eb2b7c90758f",
   "text": "Something to do",
   "completed": true
 }
]
篩選id
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const {MongoClient,ObjectID} = require('mongodb');

MongoClient.connect('mongodb://localhost:27017/TodoApp',(err,client)=>{
   if(err){
     return console.log('Unable to connect to MongoDB server');
   }
   console.log('Connect to MongoDB server');
 const db = client.db('TodoApp');
 db.collection('Todos').find({
   new ObjectID('5beeaf0a2d48eb2b7c90758f')
 }).toArray().then((docs)=>{
   console.log('Todos');
   console.log(JSON.stringify(docs,undefined,2));
 },(err)=>{
   console.log('unable to fetch todos', err);
 })

 client.close();

});

執行代碼返回:

1
2
3
4
5
6
7
[
 {
   "_id": "5beeaf0a2d48eb2b7c90758f",
   "text": "Something to do",
   "completed": true
 }
]

刪除document

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const {MongoClient,ObjectID} = require('mongodb');

MongoClient.connect('mongodb://localhost:27017/TodoApp',(err,client)=>{
   if(err){
     return console.log('Unable to connect to MongoDB server');
   }
   console.log('Connect to MongoDB server');
 const db = client.db('TodoApp');
//  db.collection('Todos').deleteMany({text:'mike'});  刪除全部

//刪除一個
 // db.collection('Todos').deleteOne({text:'mike'}).then((result)=>{
 //     console.log(result);
 // });

//刪除并返回對象
 db.collection('Todos').findOneAndDelete({text:'mike'}).then((result)=>{
     console.log(result);
 });

 client.close();

});

更新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const {MongoClient,ObjectID} = require('mongodb');

MongoClient.connect('mongodb://localhost:27017/TodoApp',(err,client)=>{
   if(err){
     return console.log('Unable to connect to MongoDB server');
   }
   console.log('Connect to MongoDB server');
 const db = client.db('TodoApp');

//查找并更新
 db.collection('Todos').findOneAndUpdate({text:'mike'},{
   $set:{
     completed:false       //設置更改
   }
 },{
   returnOriginal:false  //返回的結果為更新后的值。
 }).then((result)=>{
   console.log(result); //打印跟新結果
 });

 client.close();
});
  • 本文鏈接: https://dreamerjonson.com/2018/11/16/node-18-mongodb-node/

  • 版權聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協議 許可協議。轉載請注明出處!

nodejs漸入佳境[18]-mongodb-node增刪查改

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北宁市| 江山市| 连平县| 姚安县| 大姚县| 宣恩县| 凌海市| 汉源县| 迁西县| 新余市| 垫江县| 沿河| 安吉县| 云南省| 孝义市| 安陆市| 镇沅| 朔州市| 泰宁县| 武汉市| 西乌| 嘉荫县| 庄河市| 乳山市| 漯河市| 阳新县| 开封县| 江源县| 平谷区| 富源县| 庆云县| 新绛县| 三台县| 同江市| 延长县| 嘉兴市| 丘北县| 哈尔滨市| 潼关县| 建始县| 永登县|