友情提示: 好用的工具可以节省大量时间,可以直接使用 navicat 来进行 mongodb 数据库的各种查询操作,简单快捷,不用学习复杂的 API
- 
Mongodb 下载 官方下载网址: https://www.mongodb.com/try/download/community windows 下的最新版,下载安装后即可连接启动。 
- 
Mongodb 可视化工具 简单配置后,即可连接使用 ![]()  
- 
Mongodb 查询语句 - 
简单查询 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15// 查询语句格式 
 // db 数据库 collection 集合
 // query 可选,使用查询操作符指定查询条件
 // projection 可选,使用投影操作符返回指定键
 db.collection.find(query, projection)
 // 查找集合col中所有元素
 // pretty() 格式化显示文档
 db.col.find().pretty()
 // 条件语句查询
 // 等于
 db.col.find({"name": "John"})
 // $lt $lte $gt $gte $ne
 db.col.find({"age": {$lt: 18}})
- 
组合查询 1 
 2
 3
 4
 5
 6
 7
 8// and 
 db.col.find({key1:value1, key2:value2})
 // or 用列表把所有条件放在一起
 db.col.find({$or: [{k1:v1}, {k2:v2}]})
 // and & or
 db.col.find({k1:v1, $or: [{k2:v2}, {k3:v3}]})
 
- 
- 
python 库 monoenigine 将 pymongo 的底层操作进行集成优化,简化 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
 26
 27
 28
 29
 30
 31
 32
 33
 34import mongoengine as me 
 # connect to MongoDB
 me.connect(host='CONNECTION_STRING')
 # venue Schema
 class newVenues(me.Document):
 name = me.StringField(required=True)
 latitude = me.DecimalField(required=True)
 longitude = me.DecimalField(required=True)
 # some test data
 venues = [{'name': 'Vega','latitude': 55.672867, 'longitude': 12.473692},
 {'name': 'Tivoli','latitude': 55.681256,'longitude': 12.553412}]
 # the list of venues to bulk insert to MongoDB
 venues_to_insert_list = []
 for venue in venues:
 venues_to_insert_list.append(
 newVenues(name=venue.get('name'),
 latitude=venue.get('latitude'),
 longitude=venue.get('longitude'))
 )
 # bulk insert to MongoDB
 # 无序插入,避免单个错误导致所有插入都失败
 newVenues.objects.insert(venues_to_insert_list, "ordered": False)
 # single insert
 venue = newVenues(name='Vega', latitude=55.672867, logitude=12.473692)
 venue.save()
 
