使用python向MongoDB插入时间字段的操作

看代码吧~

import pymongo
from dateutil import parser
dateStr = "2019-05-14 01:11:11"
myDatetime = parser.parse(dateStr)
client = pymongo.MongoClient(host="127.0.0.1", port=27017)
db = client["test"]
db.ceshi.insert({"date": myDatetime})
client.close()

补充:python连接mongodb插入数据及设置数据类型

安装 Python MongoDB 驱动程序

安装驱动

pip install pymongo

检查

在python交互模式中,执行下面的语句

import pymongo
pymongo.version

创建连接

确定 MongoDB 连接串

使用驱动连接到 MongoDB 集群只需要指定 MongoDB 连接字符串即可。

mongodb://数据库服务器主机地址:端口号
mongodb://127.0.0.1:27017

初始化数据库连接

import pymongo
client = pymongo.MongoClient('mongodb://127.0.0.1:27017')

数据库操作

初始化数据库和集合

db = client.admin
# 认证,如果没有设置用户名和密码可以忽略此项
db.authenticate('root','password')
# 集合,没有则创建
collection = db[friend]
# 或
collection = db.friend
# 如果集合名有-存在,在python里识别不了,所以建议用[]的方式

插入一条新的用户数据

插入数据

new_friend = {
      "_id": "4519678129565659554",
      "user_id": "4519678129565659555",
      "friend_user_id": "4519678129565659556",
      "remark": "",
      "add_time": "2020-07-07T00:39:31.961Z"
      }
collection.insert_one(new_friend)

在mongo shell中查看

use admin
db.auth("root","password")
show tables;
db.friend.find({})
-- { "_id" : "4519678129565659554", "user_id" : "4519678129565659555", "friend_user_id" : "4519678129565659556", "remark" : "", "add_time" : "2020-07-07T00:39:31.961Z" }

设置数据的类型

mongo有很多种数据类型,这里主要说一下int64和日期时间

int64,依赖bson

pip install bson

日期时间,依赖parser

pip install python-dateutil
import bson
from dateutil import parser
aa = {
      "_id": bson.int64.Int64("4519678129565659557"),
      "user_id": bson.int64.Int64("4519678129565659558"),
      "friend_user_id": bson.int64.Int64("4519678129565659559"),
      "remark": "",
      "add_time": parser.parse("2020-07-07T00:39:31.961Z"),
      "_class": "com.aihangxunxi.common.entity.mongo.FriendRelationShip"
      }
collection.insert_one(aa)

在mongo shell中查看

db.friend.find({})
-- { "_id" : NumberLong("4519678129565659557"), "user_id" : NumberLong("4519678129565659558"), "friend_user_id" : NumberLong("4519678129565659559"), "remark" : "", "add_time" : ISODate("2020-07-07T00:39:31.961Z") }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python操作Mongodb数据库的方法小结

    本文实例讲述了Python操作Mongodb数据库的方法.分享给大家供大家参考,具体如下: 一 导入 pymongo from pymongo import MongoClient 二 连接服务器 端口号 27017 连接MongoDB 连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017. conn = MongoClient("localhost

  • Python简单连接MongoDB数据库的方法

    本文实例讲述了Python连接MongoDB数据库的方法.分享给大家供大家参考,具体如下: Python使用pymongo操作MongoDB数据库,首先需要安装pymongo模块,如下示例是通过pymongo连接MongoDB数据库,带用户名和密码: from pymongo import MongoClient import datetime client = MongoClient('mongodb://tanteng:123456@localhost:27017/') db = clien

  • python连接mongodb操作数据示例(mongodb数据库配置类)

    一.相关代码数据库配置类 MongoDBConn.py 复制代码 代码如下: #encoding=utf-8''' Mongo Conn连接类''' import pymongo class DBConn:    conn = None    servers = "mongodb://localhost:27017" def connect(self):        self.conn = pymongo.Connection(self.servers) def close(self

  • python mongo 向数据中的数组类型新增数据操作

    我就废话不多说了,大家还是直接看图吧~ 补充知识:pymongo插入数据时更新和不更新的使用 (1)update的setOnInsert 当该key不存在的时候执行插入操作,当存在的时候则不管,可以使用setOnInsert db.test.update({'_id': 'id'}, {'$setOnInsert': {'a': 'a'}, true) 当id存在的时候,忽略setOnInsert. (2)update的set 当key不存在的时候执行插入操作,当存在的时候更新除key以外的se

  • 使用python向MongoDB插入时间字段的操作

    看代码吧~ import pymongo from dateutil import parser dateStr = "2019-05-14 01:11:11" myDatetime = parser.parse(dateStr) client = pymongo.MongoClient(host="127.0.0.1", port=27017) db = client["test"] db.ceshi.insert({"date&qu

  • python 处理dataframe中的时间字段方法

    在机器学习过程中,通常会通过pandas读取csv文件,保持成dadaframe格式,然而有时候需要对dataframe中的时间字段进行数据建模,比如时间格式为datetime,那么像一般操作dataframe的方式来操作时间字段会报错的,所以在使用sklearn库进行fit和predict的时候,通常要把时间字段首先转换为timestamp格式,在fit和predict之后,如果需要matplotlib绘图的时候,再把timestamp格式转换为时间字符串,比如2017-02-01 14:25

  • Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法

    本文实例讲述了Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法.分享给大家供大家参考,具体如下: 前言: 想把QQ日志爬虫(Python)爬下来的日志保存到 MongoDB 里面. 但 insert 的时候报错: E11000 duplicate key error collection: QQ.Blog index: _id_ dup key: { : "965464518_1301232446" } 后来知道错误的原因是:插入的数据和已有数据的 ID

  • Python常见MongoDB数据库操作实例总结

    本文实例讲述了Python常见MongoDB数据库操作.分享给大家供大家参考,具体如下: MongoDB 是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可

  • 浅析Python与Mongodb数据库之间的操作方法

    MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON). 1. 安装Mongodb和pymongo Mongodb的安装和配置 Mongodb的安装教程请网上搜索, 安装完成后,    进行以下配置过程: 1.1 创建目录, 该目录为Mongodb数据文件的存放目录: *注: 本人使用的不是root用户, 所以修改目录的拥有者. * sudo mkdir /data sudo chown -R python:python /data mkdir /da

  • python数据库批量插入数据的实现(executemany的使用)

    正常情况下往数据库多张表中批量插入1000条数据,若一条一条insert插入,则调用sql语句查询插入需要执行几千次,花费时间长 现使用cursor.executemany(sql,args) ,可对数据进行批量插入, 其中args是一个包含多个元组的list列表,每个元组对应mysql当中的一条数据 以下是实例: 往数据库中的order表.order_detail表和pay表中插入1000条订单数据,订单详情数据以及支付数据 1.pay表中的id字段是order表中的pay_id字段 2.or

  • MongoDB插入数据的3种方法

    insert()方法:    下面是在inventory集合中插入一个三个字段的文档:        复制代码 代码如下: db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } ) 在实示例中,文档有一个用户指定的值为10的_id字段,这个值必须在inventory集合中唯一.update()方法:    调用update()方法使用upsert标志创建一个新文档当没有匹配查询条件

  • MySQL时间字段究竟使用INT还是DateTime的说明

    今天解析DEDECMS时发现deder的MYSQL时间字段,都是用 `senddata` int(10) unsigned NOT NULL DEFAULT '0'; 随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用在字段上转换运算,直接用于时间比较!二来如下所述效率也更高. 归根结底:用int来代替data类型,更高效. 环境: Windows XP PHP Version 5.2.9 MySQL Server 5.1 第一步.创建一个表date_test(非

  • python将MongoDB里的ObjectId转换为时间戳的方法

    本文实例讲述了python将MongoDB里的ObjectId转换为时间戳的方法.分享给大家供大家参考.具体分析如下: MongoDB里的_id字段前四位是时间戳的16进制表示,通过Python可以很容易从_id中提取出时间戳来 def timestamp_from_objectid(objectid): result = 0 try: result = time.mktime(objectid.generation_time.timetuple()) except: pass return r

  • pymongo实现控制mongodb中数字字段做加法的方法

    本文实例讲述了pymongo实现控制mongodb中数字字段做加法的方法.分享给大家供大家参考.具体分析如下: 这个非常实用,比如我们需要给文章做访问统计,可以设置一个数字字段:hit,然后每次点击后给改字段增加1即可 import pymongo #导入pymongo 模块 conn = pymongo.Connection() #连接本地mongodb数据库 db=conn.database #database为数据库名称 collection = db.article #article为c

随机推荐