当前位置: 首页 > 面试题库 >

使用mongoengine将多文档插入到mongodb中

公羊安怡
2023-03-14
问题内容

在我的烧瓶应用程序中,我正在使用MongoeEgine。我试图将多个文档插入MongoDB的地方集合中。

我的文档类定义

class places(db.Document):

  name = db.StringField(max_length=200, required=True)    
  loc = db.GeoPointField(required=True)

  def __unicode__(self):
    return self.name

    a=[]
    a.append({"name" : 'test' , "loc":[-87,101]})
    a.append({"name" : 'test' , "loc":[-88,101]})
    x= places(a)

最后一条语句失败

x= places(a)
TypeError: __init__() takes exactly 1 argument (2 given)

我也尝试将其保存到我的实例中

places.insert(x)
places.save(x)

都失败了。请帮忙。


问题答案:

Places.objects.insert不带字典列表,它必须是Places实例。正常操作是创建的单个实例,Places然后保存或插入例如:

Places(name="test", loc=[-87, 101]).save()
Places(name="test 2", loc=[-87, 101]).save()

但是,如果你想要做批量插入你可以通过列表Places实例和呼叫insertobjects查询集如:

Places.objects.insert([Places(name="test", loc=[-87, 101]), 
                       Places(name="test 2", loc=[-87, 101])])


 类似资料:
  • 主要内容:insert() 与 save() 方法,insertOne() 方法,insertMany() 方法前面我们已经介绍了如何在 MongoDB 中 创建数据库和 创建集合,接下来我们再来介绍一下如何在集合中插入文档。文档是 MongoDB 中数据的基本单位,由 BSON 格式(一种计算机数据交换格式,类似于 JSON)的键/值对组成。 insert() 与 save() 方法 您可以使用 MongoDB 中的 insert() 或 save() 方法向集合中插入文档,语法如下: db.

  • 我试图插入一个json字符串,它包含一个文档数组,但得到以下异常。 MongoDB服务器版本: Mongo-Java驱动程序版本: 我知道方法只用于插入一个文档,但这里是一个数组文档。我不确定在这里如何使用方法。 请引导。 要插入的JSON字符串: 异常日志: main.java GenericUtils.java pom.xml

  • 问题内容: 我在使用mgo将mongodb中保留golang结构时遇到问题。 问题是,在完成Insert()调用后,唯一保留在数据库中的是空文档 我检查struct字段是否确实已设置,并且不为空。关于为什么这样的任何想法。提示表示赞赏:)谢谢 问题答案: 您需要通过以大写字母开头的字段名称来导出字段。

  • 问题内容: 我正在尝试将文档插入Node.js中的MongoDB中。我已经从数据库中成功读取了文件,并通过命令行界面添加了文档。但是,我无法从JavaScript插入文档。如果这样做,我会收到一个错误: 错误:没有提供的回调无法使用writeConcern 这是我的代码: 我无法终生弄清楚为什么会出现此错误。 我做错了什么,我应该怎么做呢? 问题答案: 您需要为调用提供回调函数,以便该方法可以将插

  • 我需要向MongoDB插入一个文档并返回新插入的文档。我用了db。集合(“集合名称”)。insertOne(“要插入的数据”)。然后((res)= 错误:未定义ops。 insertOne只返回插入文档的_id,而不是整个文档☹ 但早些时候,它通常返回整个文档。我使用了mongoclient而不是mongoose,在mongoose中它返回整个文档,但我不喜欢使用mongoose。

  • 我试图导入一个对象到蒙戈。但是当我试图使用对象的值作为_id它失败了。错误,即:[CastError: Cast to ObjectID在路径_id]的值为11563195失败,以及稍后的[错误:文档在保存之前必须有_id] 我做错了什么? 以下是使用的模式: 非常感谢您的时间和帮助。

  • 默认情况下,save()用于将文档添加到集合中(在Model类中定义)。如何插入文档或查询以使用Spring数据将文档插入特定集合?类似于保存(document,CollectionName)。

  • 我有一个类似这样的mongoDocument结构,注释字段作为嵌入文档。 我想添加 “newField” : “something” 到 嵌入的注释字段中 “cid” : “17426944” : 在java驱动程序中,我尝试了: 这里的问题是: 示例文档: 我需要什么 : 请帮帮我,谢谢vijay