mongo+es基本语法

docker run -itd --name gogogo --network host -v /mnt/c/Users/Administrator/go/src/mqtt-golang:/web golang:1.24

-------------mongo-------------------
docker run -itd --name mongo -v /home/databases/mongo/data:/data/db -p 27017:27017 mongo:4.4 --auth

docker exec -it mongo mongo admin

db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},'readWriteAnyDatabase']});

db.auth('root', '123456')

use school
db.createCollection("students")
db.students.insert([
{"name":"aaa","age":10,"major":"语文"},
{"name":"bbb","age":12,"major":"数学"}
])

db.students.find({age:{$gte:19}},{major:1,name:1,_id:0})

db.students.update({name:"zhangsan"},{$set:{age:22}})

db.students.updateMany({},{$set:{courses:[]}})
db.students.update({name:"lisi"},{$push:{courses:"数据库"}})
db.students.update({name:"wangwu"},{$addToSet:{courses:{$each:["php","mysql","goalng"]}}})
db.students.update({name:"zhangsan"},{$pull:{courses:"php,mysql"}})

db.students.find({},{}).sort({age:1}).limit(3)

db.students.remove({age:{$lt:18}})

db.students.createIndex({"age":1})
db.students.getIndex()
db.students.aggregate([{$match:{age:{$lt:100}}},{$group:{_id:"$major",sum:{$sum:1}}},{$sort:{sum:-1}}])

db.students.find({name:"aaa",age:{$gt:1,$lt:100}},{name:1,age:1,_id:0})

-------------es-------------------

拉取镜像

docker pull elasticsearch:7.7.0

启动镜像

docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

127.0.0.1:9200/_cat/indices?v

put 127.0.0.1:9200/products
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"price": {
"type": "float"
},
"name": {
"type": "text",
"fields": {
"name_kwd": {
"type": "keyword"
}
}
}
}
}
}


post 127.0.0.1:9200/products/_doc
{ "id": 1, "name": "iPhone 13", "price": 6999, "category": "手机", "stock": 50 }
{ "id": 2, "name": "MacBook Pro", "price": 12999, "category": "电脑", "stock": 30 }


get 127.0.0.1:9200/products/_search
{"query":{
"range":{
"price":{"gt":1000,"lt":8000}
}
},"from":0,"size":10,"_source":["name","price"],"sort":{"price":{"order":"desc"}}}

{"query":{
"bool":{
"filter":[
{"range":{"price":{"lt":10000}}},
{"range":{"stock":{"gt":0}}},
{"terms":{"category.keyword":["耳机","手机"]}}
]
}
}}

{"query":{
"match":{
"name":"pro"
}
},
"sort":{
"_score":{"order":"desc"}
}}

{"size":0,"aggs":{
"category_group":{
"terms":{"field":"category.keyword","order":{"avg_price":"desc"}},
"aggs":{
"sum_stock":{"sum":{"field":"stock"}},
"avg_price":{"avg":{"field":"price"}}
}
}}
}

posted on 2026-01-30 11:57  木林coder  阅读(4)  评论(0)    收藏  举报

导航