差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
it:database:mongodb_command [2022-07-30 09:47] – [用户管理] goldentianyait:database:mongodb_command [2025-12-30 15:01] (当前版本) – 移除 goldentianya
行 1: 行 1:
-====== MongoDB 常用 ====== 
  
-===== 命令 ===== 
-**ubuntu** 
-  - systemctl start mongod 
-  - systemctl status mongod 
-  - /etc/mongod.conf 
- 
- 
-**mac** 
-  - brew services start [email protected] 
-  - brew services stop [email protected] 
-  - mongod --config /opt/homebrew/etc/mongod.conf --fork 
-  - brew services list 
-  - /etc/mongod.conf 
- 
-===== 用户管理 ===== 
- 
-添加用户 
-<code bash> 
-use admin 
-db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'}]}) 
-</code> 
- 
-===== 冗余数据 ===== 
-查找冗余数据 
-<code bash> 
-db.HistoryData.aggregate([{ 
-   '$group': { 
-        '_id': {'symbol': '$symbol','time': '$time'}, 
-        'uniqueIds': {'$addToSet': '$_id'}, 
-        'count': {'$sum': 1}} 
-    },{ 
-        '$match': {'count': {'$gt': 1} 
-    } 
-}]).forEach(function(it){ 
-     it.uniqueIds.shift(); 
-        db.DataH.remove({_id: {$in: it.uniqueIds}}); 
-}); //后面部分是删除冗余的数据 
-</code> 
- 
-删除记录:删除3月30日之前的数据 
- 
-<code | download> 
-db.Data30m.deleteMany({time: {$lt: new Date('2022-03-30')}}) 
-</code> 
- 
-===== 聚合 ===== 
- 
-统计所有股票,总共有多少记录,最早的一个记录发生在哪天. 
-<code bash> 
-var match:any = [ 
- { $match :  {symbol: symbol}}, 
- { $group:{_id: symbol, count: { $sum: 1 }, min: { $min: '$time'}} 
-}] 
-var data: any = await this.db.Aggregate('Stock', 'DataD', match) 
-</code> 
- 
-獲取所有symbol的最後一個日期的收盤價 (<color #7092be>表格已經按時間倒序設定了索引</color> 
-<code> 
-db.DataD.aggregate( [ { $group : { _id : "$symbol" , close:{$first:'$close'}, time:{$first:'$time'}}} ] ) 
-</code> 
-設定一個時間範圍 
-<code> 
-db.stock_us.aggregate( [  
-    { $group : { _id : "$symbol" , close:{$first:'$close'}, time:{$first:'$time'}}}, 
-    {$match: {$and: [{time: {$lte: new Date('2021-09-18')}}, {time: {$gte: new Date('2021-09-15')}}]}} 
-] ).limit(30) 
-</code> 
- 
-===== 正则表达式 ===== 
- 
-实现模糊查找,字段。 
- 
-參考((a>[[https://www.runoob.com/mongodb/mongodb-regular-expression.html|MongoDB 正则表达式]])) 具體實例 
-<code> 
->db.posts.find({post_text:{$regex:"runoob"}}) 
->db.posts.find({post_text:/runoob/})  //包含runoob的 
->db.posts.find({post_text:/^runoob/}) //以runoob開頭的 
->db.posts.find({post_text:/runoob$/}) //以runoob结束的 
-</code> 
- 
-<code > 
-db.stocks.find({$and: [{name: /3x/}, {name: /Trust/}]}) // 同时含有 ”3x“ 和 ”Trust“ 字符串的 
-db.stocks.find({name: {$in: [/3x/, /Trust/]}})          // 含有 ”3x“ 或者 ”Trust“ 字符串的 
-</code> 
- 
-{{tag>mongo database}} 
it/database/mongodb_command.1659174462.txt.gz · 最后更改: 2022-07-30 09:47 由 goldentianya
回到顶部
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0