- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python中的MongoDB基本操作:连接、查询实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。它的特点是高性能、易部署、易使用,存储数据非常方便.
MongoDB 简单使用 。
联接数据库 。
。
。
Connection 相关参数 。
。
。
数据库操作 。
。
In [9]: c.database_names() //列出所有数据库名称 Out[9]: [u'test', u'admin', u'yuhen', u'sms', u'local'] 。
。
In [10]: c.server_info() //查看服务器相关信息 Out[10]: {u'bits': 64, u'gitVersion': u'nogitversion', u'ok': 1.0, u'sysInfo': u'Linux yellow 2.6.24-27-server #1 SMP Fri Mar 12 01:23:09 UTC 2010 x86_64 BOOST_LIB_VERSION=1_40', u'version': u'1.2.2'} 。
In [16]: db = c['test'] //选择数据库 In [17]: db.collection_names() //列出当前数据库中所有集合名称 Out[17]: [u'system.indexes', u'fs.files', u'fs.chunks', u'test_gao'] 。
In [23]: db.connection //查看联接信息 Out[23]: Connection('192.168.1.3', 27017) 。
In [24]: db.create_collection('test_abeen') //创建新集合 Out[24]: Collection(Database(Connection('192.168.1.3', 27017), u'test'), u'test_abeen') 。
In [25]: db.last_status() //查看上次操作状态 Out[25]: {u'err': None, u'n': 0, u'ok': 1.0} 。
In [26]: db.name //查看当前数据库名称 Out[26]: u'test' 。
In [27]: db.profiling_info() //查看配置信息 Out[27]: [] 。
In [28]: db.profiling_level() Out[28]: 0.0 。
。
集合操作 。
In [31]: db.collection_names() //查看当前数据库所有集合名称 Out[31]: [u'system.indexes', u'fs.files', u'fs.chunks', u'test_gao', u'system.users', u'test_abeen'] 。
。
In [32]: c = db.test_abeen //选择集合 In [33]: c.name //查看当前集合名称 Out[33]: u'test_abeen' 。
In [35]: c.full_name //查看当前集合全名 Out[35]: u'test.test_abeen' In [36]: c.database //查看当前集合数据库相关信息 Out[36]: Database(Connection('192.168.1.3', 27017), u'test') 。
In [38]: post = {"author":"Mike","text":"this is a test by abeen"} In [39]: posts = db.posts In [40]: posts.insert(post) //向数据库集合插入文档,默认创建集合 Out[40]: ObjectId('4c358492421aa91e70000000') In [41]: db.collection_names() //显示所有集合名称 Out[41]: [u'system.indexes', u'fs.files', u'fs.chunks', u'test_gao', u'system.users', u'test_abeen', u'posts'] 。
In [42]: posts.find_one() //从集合查找信息 Out[42]: {u'_id': ObjectId('4c358492421aa91e70000000'), u'author': u'Mike', u'text': u'this is a test by abeen'} In [52]: p.update({"author":"Mike"},{"$set":{"author":"abeen","text":"this is a test by abeen shan shan"}})//更新集合文档信息 In [55]: list(p.find()) Out[55]: [{u'_id': ObjectId('4c358492421aa91e70000000'), u'author': u'abeen', u'text': u'this is a test by abeen shan shan'}] 。
In [96]: list(posts.find()) Out[96]: [{u'_id': ObjectId('4c358492421aa91e70000000'), u'author': u'Mike', u'text': u'this is a test by abeen'}, {u'_id': ObjectId('4c358ad4421aa91e70000002'), u'a': u'aa', u'b': u'bb'}, {u'_id': ObjectId('4c358ad9421aa91e70000003'), u'a': u'aa', u'b': u'bb'}, {u'_id': ObjectId('4c358abb421aa91e70000001'), u'a': u'abeen', u'b': u'this bb is updated'}] In [97]: posts.remove({"a":"abeen"}) //删除符合条件的文档 In [98]: list(posts.find()) Out[98]: [{u'_id': ObjectId('4c358492421aa91e70000000'), u'author': u'Mike', u'text': u'this is a test by abeen'}, {u'_id': ObjectId('4c358ad4421aa91e70000002'), u'a': u'aa', u'b': u'bb'}, {u'_id': ObjectId('4c358ad9421aa91e70000003'), u'a': u'aa', u'b': u'bb'}] 。
In [102]: db.collection_names() Out[102]: [u'system.indexes', u'fs.files', u'fs.chunks', u'test_gao', u'system.users', u'test_abeen', u'posts', u'doc_abeen'] 。
In [104]: db.drop_collection("doc_abeen") //删除集合 In [105]: db.collection_names() Out[105]: [u'system.indexes', u'fs.files', u'fs.chunks', u'test_gao', u'system.users', u'test_abeen', u'posts'] 。
。
代码 。
。
find格式 。
。
代码 。
In [120]: db.posts.count()//当前集合文档数 Out[120]: 3 In [121]: type(db.posts) Out[121]: <class 'pymongo.collection.Collection'> 。
。
In [138]: posts.rename('test_abeen')//重命名当前集合 In [139]: db.collection_names() Out[139]: [u'system.indexes', u'fs.files', u'fs.chunks', u'test_gao', u'system.users', u'test_abeen'] 。
In [151]: for post in c.find({"a":"aa"}).sort("a"): //查询并排序列 post Out[152]: {u'_id': ObjectId('4c358ad4421aa91e70000002'), u'a': u'aa', u'b': u'bb'} Out[152]: {u'_id': ObjectId('4c358ad9421aa91e70000003'), u'a': u'aa', u'b': u'bb'} 。
。
。
> db.foo.insert( { x : 1, y : 1 } ) > db.foo.insert( { x : 2, y : "string" } ) > db.foo.insert( { x : 3, y : null } ) > db.foo.insert( { x : 4 } ) 。
。
// Query #1 y 为null或不存在 > db.foo.find( { "y" : null } ) { "_id" : ObjectId("4dc1975312c677fc83b5629f"), "x" : 3, "y" : null } { "_id" : ObjectId("4dc1975a12c677fc83b562a0"), "x" : 4 } 。
// Query #2 y为null的值 > db.foo.find( { "y" : { $type : 10 } } ) { "_id" : ObjectId("4dc1975312c677fc83b5629f"), "x" : 3, "y" : null } 。
// Query #3 y不存在的结果 > db.foo.find( { "y" : { $exists : false } } ) { "_id" : ObjectId("4dc1975a12c677fc83b562a0"), "x" : 4 } 。
。
最后此篇关于Python中的MongoDB基本操作:连接、查询实例的文章就讲到这里了,如果你想了解更多关于Python中的MongoDB基本操作:连接、查询实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有三张 table 。表 A 有选项名称(即颜色、尺寸)。表 B 有选项值名称(即蓝色、红色、黑色等)。表C通过将选项名称id和选项名称值id放在一起来建立关系。 我的查询需要显示值和选项的名称,而
在mysql中,如何计算一行中的非空单元格?我只想计算某些列之间的单元格,比如第 3-10 列之间的单元格。不是所有的列...同样,仅在该行中。 最佳答案 如果你想这样做,只能在 sql 中使用名称而
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我正在为版本7.6进行Elasticsearch查询 我的查询是这样的: { "query": { "bool": { "should": [ {
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
是否可以编写一个查询来检查任一子查询(而不是一个子查询)是否正确? SELECT * FROM employees e WHERE NOT EXISTS (
我找到了很多关于我的问题的答案,但问题没有解决 我有表格,有数据,例如: Data 1 Data 2 Data 3
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
我从 EditText 中获取了 String 值。以及提交查询的按钮。 String sql=editQuery.getText().toString();// SELECT * FROM empl
我有一个或多或少有效的查询(关于结果),但处理大约需要 45 秒。这对于在 GUI 中呈现数据来说肯定太长了。 所以我的需求是找到一个更快/更高效的查询(几毫秒左右会很好)我的数据表大约有 3000
这是我第一次使用 Stack Overflow,所以我希望我以正确的方式提出这个问题。 我有 2 个 SQL 查询,我正在尝试比较和识别缺失值,尽管我无法将 NULL 字段添加到第二个查询中以识别缺失
什么是动态 SQL 查询?何时需要使用动态 SQL 查询?我使用的是 SQL Server 2005。 最佳答案 这里有几篇文章: Introduction to Dynamic SQL Dynami
include "mysql.php"; $query= "SELECT ID,name,displayname,established,summary,searchlink,im
我有一个查询要“转换”为 mysql。这是查询: select top 5 * from (select id, firstName, lastName, sum(fileSize) as To
通过我的研究,我发现至少从 EF 4.1 开始,EF 查询上的 .ToString() 方法将返回要运行的 SQL。事实上,这对我来说非常有用,使用 Entity Framework 5 和 6。 但
我在构造查询来执行以下操作时遇到问题: 按activity_type_id过滤联系人,仅显示最近事件具有所需activity_type_id或为NULL(无事件)的联系人 表格结构如下: 一个联系人可
如何让我输入数据库的信息在输入数据 5 分钟后自行更新? 假设我有一张 table : +--+--+-----+ |id|ip|count| +--+--+-----+ |
我正在尝试搜索正好是 4 位数字的 ID,我知道我需要使用 LENGTH() 字符串函数,但找不到如何使用它的示例。我正在尝试以下(和其他变体)但它们不起作用。 SELECT max(car_id)
我有一个在 mysql 上运行良好的 sql 查询(查询 + 连接): select sum(pa.price) from user u , purchase pu , pack pa where (
我是一名优秀的程序员,十分优秀!