跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教下, Python 里插入 mongo 一直报错
未分類
3 5 月 2020

请教下, Python 里插入 mongo 一直报错

请教下, Python 里插入 mongo 一直报错

資深大佬 : Colorful 33

import pymongo
from pymongo import MongoClient
client = pymongo.MongoClient(host=’127.0.0.1′, port=27017)
collection = client.newtext
print(‘============’,collection )

class FirstPipeline(object):

def process_item(self, item, spider):
for i in range(0,len(item[“content”])):
arrtext = {‘title’:item[‘title’][i],’price’:item[“price”][i],’content’:item[“content”][i]}
collection.insert_many(arrtext)
return item

这是 scapy 框架,在 pipelines.py 页面里面写的,上面是这个页面所有的代码

打印出来的值是这样的

Database(MongoClient(host=[‘127.0.0.1:27017’], document_class=dict, tz_aware=False, connect=True), ‘newtext’)

菜鸟一枚

大佬有話說 (8)

  • 資深大佬 : Nitroethane

    insert_many 的得是数组吧,保存字典应该用 insert_one (忘记了是 insert 还是 insert_one,看下文档就知道了)

  • 主 資深大佬 : Colorful

    @Nitroethane insert 也不行

  • 資深大佬 : caly5144

    同菜鸟,不过没有见过 client.newtext 这样的语法。我写的时候一般是
    myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)
    mydb = myclient[“database”] # 创建 /连接数据库
    mycol = mydb[“collection”] # 创建 /连接集合

    mycol.insert_one({}) # 插入一条数据

  • 資深大佬 : JCZ2MkKb5S8ZX9pq

    @Nitroethane 是 insert_one

    @caly5144 client.db 好像是可以,collection 我也是习惯用 db[collection],不过 lz 是不是少了一级? client.db.collection

  • 資深大佬 : Nitroethane

    @JCZ2MkKb5S8ZX9pq #4
    @Colorful #2

    行与不行倒是把返回值打印出来,有 exception 抛出的话把 exception 也贴出来,你一句也不行谁知道是什么问题

  • 資深大佬 : littlespider89

    client.db.newtext.insert_one({…})

  • 資深大佬 : JCZ2MkKb5S8ZX9pq

    @Nitroethane 我看代码好像是少了一级,没有 collection,直接在 db.insert。

  • 主 資深大佬 : Colorful

    @JCZ2MkKb5S8ZX9pq 对的,找到原因了,就是少了一极的原因,太感谢各位大侠了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具