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

MongoDb:如何在golang中的对象集合中插入其他对象?

龚睿
2023-03-14
问题内容

我只想将对象推入mongodb中的对象数组

 {
    "_id" : ObjectId("51c9cf2b206dfb73d666ae07"),
    "firstName" : "john",
    "lastName" : "smith",
    "ownerEmail" : "john.smith@gmail.com",
    "camps" : [
            {
                    "name" : "cubs-killeen",
                    "location" : "killeen"
            },
            {
                    "name" : "cubs-temple",
                    "location" : "temple"
            }
    ],
    "instructors" : [
            {
                    "firstName" : "joe",
                    "lastName" : "black"
            },
            {
                    "firstName" : "will",
                    "lastName" : "smith"
            }
    ]
}

并将对象推入需要执行的上述文档中

db.stack.update({"ownerEmail":"john.smith@gmail.com"}, 
             {$push: { 
                        "camps":{ "name":"cubs-killeen","location":"some other Place" } 
                      }
             }
             )

那么我如何使用 mgo驱动程序* 实现相同的功能 *


问题答案:

请尝试以下操作:

session, err := mgo.Dial("127.0.0.1")
if err != nil {
    panic(err)
}

defer session.Close()

session.SetMode(mgo.Monotonic, true)

// Drop Database
if IsDrop {
    err = session.DB("test").DropDatabase()
    if err != nil {
        panic(err)
    }
}

// Collection Stack
c := session.DB("test").C("stack")

// Query
query := bson.M{"ownerEmail": "john.smith@gmail.com"}
update := bson.M{"$push": bson.M{"camps": bson.M{"name": "cubs-killeen", "location": "some other Place"}}}

// Update
err = c.Update(query, update)
if err != nil {
    panic(err)
}


 类似资料:
  • 我试图在集合中插入一个对象,我重载了' 但我仍然得到以下错误: /home/joju/NetBeansProjects/cppu 1/main。cpp:51:对“domino::domino(int,int)”的未定义引用 build/Debug/GNU-Linux-x86/main。o:在函数`std::less::operator()(domino const)中 /usr/include/c

  • 问题内容: 伙计们,我只是花了很多时间来尝试查找-我应该缺少一些基本知识。 我有一个python对象,我要做的就是将此对象插入mondodb中。 这就是我所拥有的: 抛出此错误: 好像是因为json.dumps()返回一个字符串。 现在,如果我在插入之前对值进行加载,则效果很好: 最直接的方法是什么? 谢谢! 问题答案: 是什么在你最初的代码? 它不应该是类实例 这应该工作:

  • 问题内容: 我正在尝试使用Java将整个Java对象插入MongoDB集合中。我收到以下错误: 错误: Emplyoee.java(POJO) 主要方法类(test.java) 谁能解释我为什么收到此错误? 问题答案: 我有点困惑,不知道为什么您会首先想到这种方法。您需要了解的第一件事是如何将POJO映射到MongoDB文档。当前,您没有告诉系统(您的代码)如何执行该操作。 您可以为此使用映射库(

  • 问题内容: 我们先前用于从集合中查找不同元素的实现过去是: 尝试将其升级到使用mongo 3.3.0+的当前实现是: 还尝试了 在这种情况下,迭代器的目标类型是什么? 问题答案: 您可以尝试这样的事情。

  • Navicat 还能让你管理其他 SQLite 对象:索引和触发器。在主窗口的主工具栏点击相应的按钮来打开对象列表。

  • Navicat 还能让你管理其他 SQL Server 对象:索引、同义词、触发器、备份设备、链接服务器、服务器触发器、程序集、数据库触发器、分区函数和分区方案。在主窗口中,点击 “其他”,然后选择一个对象来打开对象列表。