公司核名在哪个网站网站提交搜索引擎后出现问题
news/
2025/9/29 10:24:21/
文章来源:
公司核名在哪个网站,网站提交搜索引擎后出现问题,网站开发学习什么,购物网站论文作者#xff1a;Zarten知乎专栏#xff1a;Python爬虫深入详解知乎ID#xff1a; Zarten简介#xff1a; 互联网一线工作者#xff0c;尊重原创并欢迎评论留言指出不足之处#xff0c;也希望多些关注和点赞是给作者最好的鼓励 #xff01;介绍MongoDB是一种面向文档型的…作者Zarten知乎专栏Python爬虫深入详解知乎ID Zarten简介 互联网一线工作者尊重原创并欢迎评论留言指出不足之处也希望多些关注和点赞是给作者最好的鼓励 介绍MongoDB是一种面向文档型的非关系型数据库NoSQL由C编写。非关系数据库中是以键值对存储结构不固定易存储减少时间和空间的开销。文档型数据库通常是以JSON或XML格式存储数据而Mongodb使用的数据结构是BSON二进制JSON和JSON相比BSON提高了存储和扫描效率但空间占用会更多一些。在python中操作MongoDB我们使用PyMongo下面着重介绍。PyMongo的使用前提安装了MongoDB服务器若没有点击这里安装1.安装pip3 install pymongo2.连接第1种方式#无密码连接
import pymongo
mongo_client pymongo.MongoClient(127.0.0.1, 27017)#有密码连接
import pymongo
mongo_client pymongo.MongoClient(127.0.0.1, 26666)
mongo_auth mongo_client.admin #或 mongo_client[admin] admin为authenticationDatabase
mongo_auth.authenticate(用户名, 密码)第2种方式#无密码连接
import pymongo
mongo_client pymongo.MongoClient(mongodb://127.0.0.1:27017)#有密码连接
import pymongo
import urllib.parse
mongo_username urllib.parse.quote_plus(你的用户名)
mongo_password urllib.parse.quote_plus(密码)
mongo_client pymongo.MongoClient(mongodb://%s:%s127.0.0.1:26666 % (mongo_username, mongo_password))
print(mongo_client.server_info()) #判断是否连接成功判断是否连接成功print(mongo_client.server_info()) #判断是否连接成功3.获取Database 和 Collection若没有Database 和Collection则会自动创建第一种方式mongo_db mongo_client[你的database]
mongo_collection mongo_db[你的collection]第二种方式mongo_db mongo_client.你的database
mongo_collection mongo_db.你的collectionCURD操作4.插入单条数据 insert_one()insert_one() 详细说明参考import datetime
info {name : Zarten,text : Inserting a Document,tags : [a, b, c],date : datetime.datetime.now()
}
mongo_collection.insert_one(info)5.插入多条数据 insert_many()insert_many() 详细说明参考import datetime
info_1 {name : Zarten_1,text : Inserting a Document,tags : [a, b, c],date : datetime.datetime.now()
}info_2 {name : Zarten_2,text : Inserting a Document,tags : [1, 2, 3],date : datetime.datetime.now()
}insert_list [info_1, info_2]
mongo_collection.insert_many(insert_list)6.插入字符串类型的时间由上图可以看到插入字符串时间时mongodb自动转成了 ISOdate类型若需要时间在mongdb也是字符串类型只需这样操作即可datetime.datetime.now().isoformat()7.删除一条数据 delete_one()delete_one() 详细说明参考删除一条数据。若删除条件相同匹配到多条数据默认删除第一条删除前的数据如下mongo_collection.delete_one({text : a})删除后的数据如下8.删除多条数据 delete_many()delete_many() 详细说明参考删除满足条件的所有数据删除前的数据如下mongo_collection.delete_many({text : a})删除后的数据如下9.更新单条数据 update_one()update_one() 详细说明参考只会更新满足条件的第一条数据update_one(filter,update,upsertFalse,bypass_document_validationFalse,collationNone,array_filtersNone,sessionNone)第一个参数 filter更新的条件第二个参数 update 更新的内容必须用$操作符第三个参数 upsert 默认False。若为True更新条件没找到则插入更新的内容更新前的数据如下info {name: 桃子 ,text: peach,tags: [1, 2, 3],date: datetime.datetime.now()}
update_condition {name : Zarten_2} #更新的条件也可以为多个条件
#更新条件多个时需要同时满足时才会更新
# update_condition {name : Pear,
# text : 梨子}mongo_collection.update_one(update_condition, {$set : info})更新后的数据10.更新多条数据 update_many()update_many() 详细说明参考更新满足条件的所有数据更新前的数据如下info {name: Zarten,text: a,tags: [1, 2, 3],date: datetime.datetime.now()}
update_condition {text : a} #更新的条件
#更新条件多个时需要同时满足时才会更新
# update_condition {name : Pear,
# text : 梨子}mongo_collection.update_many(update_condition, {$set : info})11.更新时若无满足条件则插入数据update_one() 详细说明参考通过设置upsert为True即可更新前的数据如下info {name: Banana,text: 香蕉,tags: [1, 2, 3],date: datetime.datetime.now()
}
update_condition {text : a} #更新的条件
#更新条件多个时需要同时满足时才会更新
# update_condition {name : Pear,
# text : 梨子}mongo_collection.update_many(update_condition, {$set : info}, upsert True)更新后的数据如下12.查询一条数据 find_one()find_one() 详细说明匹配第一条满足的条件的结果这条结果以dict字典形式返回若没有查询到则返回Nonefind_condition {name : Banana,text : peach
}
find_result mongo_collection.find_one(find_condition)可以通过projection参数来指定需要查询的字段包括是否显示 _id 更多具体用法参考 find()find_condition {name : Zarten_3,
}
select_item mongo_collection.find_one(find_condition, projection {_id:False, name:True, num:True})
print(select_item)13.查询范围查询范围具体参考这里范围查询通常用$ 例如$gte 大于等于 $lt 小于具体的$符号在文章末尾查看例如查询一段时间内的数据import datetime
find_condition {date : {$gte:datetime.datetime(2018,12,1), $lt:datetime.datetime(2018,12,3)}
}
select_item mongo_collection.find_one(find_condition)
print(select_item)14.查询多条数据 find()find() 详细说明返回满足条件的所有结果返回类型为 Cursor 通过迭代获取每个查询结果每个结果类型为dict字典find_condition {name : Banana,text : 香蕉
}
find_result_cursor mongo_collection.find(find_condition)
for find_result in find_result_cursor:print(find_result)15.通过 _id 来查询查询条件中_id 类型是ObjectId类型也就是插入时返回的对象。若 _id 提供的是str类型的我们需要转成ObjectId类型from bson.objectid import ObjectId
query_id_str 5c00f60b20b531196c02d657
find_condition {_id : ObjectId(query_id_str),
}
find_result mongo_collection.find_one(find_condition)
print(find_result)16.查询一条数据同时删除 find_one_and_delete()find_one_and_delete(filter,projectionNone,sortNone,sessionNone,**kwargs) 详细说明filter查询条件projection选择返回和不返回的字段sortlist类型当查询匹配到多条数据时根据某个条件排序函数返回时返回第一条数据只能返回一条数据此函数的特别之处在于它会返回被删除的信息以字典dict形式返回删除前的数据17.查询并删除匹配单条数据find_condition {name : Banana,
}
deleted_item mongo_collection.find_one_and_delete(find_condition)
print(deleted_item)18.查询并删除匹配多条数据有选择的返回某条数据通过sort参数find_condition {name : Zarten_2,
}
deleted_item mongo_collection.find_one_and_delete(find_condition, sort [(num, pymongo.DESCENDING)])
print(deleted_item)删除后的数据19.计数count_documents() 详细说明注意此函数在3.7版本添加以下的版本无法使用本人版本为3.6.3 固无法使用find_condition {name : Zarten_1
}
select_count mongo_collection.count_documents(find_condition)
print(select_count)20.创建索引 create_index()create_index() 详细说明插入数据时已经有一个_id索引了我们还可以自定义创建索引参数 unique设置为True时创建一个唯一索引索引字段插入相同值时会自动报错。默认为False为False时可以插入相同值mongo_collection.create_index(name, unique True)21.获取索引信息list_indexes() 和 index_information() 详细说明参考这里# list_indexs mongo_collection.list_indexes()
# for index in list_indexs:
# print(index)index_info mongo_collection.index_information()
print(index_info)由上图可以看到索引的名称自动作了处理变成了别名 name_122.删除索引 drop_index() 和 drop_indexes()详细参考这里需要使用索引的别名没有则抛出错误del_index mongo_collection.drop_index(name_1)
print(del_index)23.删除集合 drop()mongo_collection.drop()24.符号$参考表Pymongo常用操作根据_id查询数据插入时间排序col.find().sort(_id,-1) #根据插入时间降序根据_id查询某个日期插入的数据比如查询今天插入的所有数据import datetime
from bson.objectid import ObjectIdtoday_zero datetime.datetime.strptime(datetime.datetime.now().strftime(%Y-%m-%d), %Y-%m-%d)
dummy_id ObjectId.from_datetime(today_zero)
results col.find({_id: {$gte: dummy_id}}).limit(10)
for result in results:print(result)比如查询15天前的那天日期的所有插入数据import datetime
from bson.objectid import ObjectIdstart_day_time datetime.datetime.today() - datetime.timedelta(15)
end_day_time datetime.datetime.today() - datetime.timedelta(14)start_day_zero datetime.datetime.strptime(start_day_time.strftime(%Y-%m-%d), %Y-%m-%d)
end_day_zero datetime.datetime.strptime(end_day_time.strftime(%Y-%m-%d), %Y-%m-%d)start_dummy_id ObjectId.from_datetime(start_day_zero)
end_dummy_id ObjectId.from_datetime(end_day_zero)results_count col.find({_id: {$gte: start_dummy_id,$lte:end_dummy_id}}).count()
print(results_count)比如昨天插入数据start_day_time datetime.datetime.today() - datetime.timedelta(1)
end_day_time datetime.datetime.today() - datetime.timedelta(0)start_day_zero datetime.datetime.strptime(start_day_time.strftime(%Y-%m-%d), %Y-%m-%d)
end_day_zero datetime.datetime.strptime(end_day_time.strftime(%Y-%m-%d), %Y-%m-%d)start_dummy_id ObjectId.from_datetime(start_day_zero)
end_dummy_id ObjectId.from_datetime(end_day_zero)results_count col.find({_id: {$gte: start_dummy_id,$lte:end_dummy_id}}).count()print(results_count)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921694.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!