搜索
搜索
天涯的知库
显示页面
过去修订
您的足迹:
•
数据源
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== MongoDB 常用 ====== ===== 命令 ===== **ubuntu** - systemctl start mongod - systemctl status mongod - /etc/mongod.conf **mac** - brew services start mongodb-community@5.0 - brew services stop mongodb-community@5.0 - mongod --config /opt/homebrew/etc/mongod.conf --fork - brew services list - /opt/homebrew/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> ===== 其它查询 ===== 列举不同的证券代号 <code> db.DataD.distinct("symbol", { symbol: /DTG/ }) </code> {{tag>mongo database}}
it/database/mongodb_command.txt
· 最后更改: 2024-12-15 07:56 由
goldentianya
回到顶部