友情提示: 好用的工具可以节省大量时间,可以直接使用 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()