启动mongo服务
- 进入mongo下的bin目录,执行命令
./mongod --config mongodb.conf
连接数据代码
from pymongo import MongoClient
mongo_host = ""
mongo_port = 27017
mongo_user = ""
mongo_passwd = ""
auth_db = db_name = "online_data" #库名
coll = 'message_test' #表名
mc = MongoClient(mongo_host, mongo_port)
mc[auth_db].authenticate(mongo_user, mongo_passwd)
_mdb = mc[db_name]
mongo_query = _mdb[coll]
import pymongo
# client = pymongo.MongoClient(host='127.0.0.1', port=22771)
db = client.data_1
db.authenticate('mongo_user','mongo_passwd')
p = db.shuju
pp2 = db.shuju2
正则匹配非空字符串
{“data.name”: {"$regex" : “\S”}}
在linux服务器上打开mongo客户端
若mongo的安装目录尚未添加到环境变量,则需要先进入安装目录后,再进行连接。
-
mongo host:port/database -u user -p password
-
Linux开启服务
命令:sudo service mongod start -
客户端连接
命令: mongo
插入数据
db.table(表名).insert({'name':'aaaaaaaa'})
查询
db.table(表名).find({'name':'aaaaaaaa'})
db.table(表名).find({'age':{$gt:18}})
# 时间倒序查询
db.daytable.find().limit(100).sort({'insert_time':-1})
更新数据和删除数据代码
import pymongo
client = pymongo.MongoClient(host='127.0.0.1', port=27017)
db = client.t_test
coll = db.shuju
# 更新数据
# multi: 布尔类型, 设置数据更新时是否一次性更新多条数据, 默认为False
# upsert: 设置数据更新时,如果数据不存在,是否将本次数据添加到文件中,默认为False
# 已经存在的字段更新,不存在的添加,无法删除字段
coll.update({'name':'jiesen1'},{'$set':{'age':20,'sex':'woman'}},multi=True,upsert=True)
# 删除数据
coll.delete_one({"name": "jiesen1"})
# 根据 时间字段 删除
coll.remove({"insert_time":{"$lt": time.time()-300}})
# 查找数据
db.things.find({"createTime":{"$gt":"2015-5-21 0:0:0"}}) // 大于某个时间
db.things.find({"createTime":{"$lt":"2014-5-21 0:0:0"}}) // 小于某个时间
db.things.find({"$and":[{"createTime":{"$gt":"2015-5-21 0:0:0"}},{"createTime":{"$lt":"2015-5-22 0:0:0"}}]}) // 某个时间段