我需要使用ObjectIdHex获取值,并进行更新并查看结果。我正在使用mongodb和golang,但是下面的代码无法正常工作
package main
import (
"fmt"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
type Person struct {
Id bson.ObjectId `json:"id" bson:"_id,omitempty"`
Name string
Phone string
}
func checkError(err error) {
if err != nil {
panic(err)
}
}
const (
DB_NAME = "gotest"
DB_COLLECTION = "pepole_new1"
)
func main() {
session, err := mgo.Dial("localhost")
checkError(err)
defer session.Close()
session.SetMode(mgo.Monotonic, true)
c := session.DB(DB_NAME).C(DB_COLLECTION)
err = c.DropCollection()
checkError(err)
ale := Person{Name:"Ale", Phone:"555-5555"}
cla := Person{Name:"Cla", Phone:"555-1234-2222"}
kasaun := Person{Name:"kasaun", Phone:"533-12554-2222"}
chamila := Person{Name:"chamila", Phone:"533-545-6784"}
fmt.Println("Inserting")
err = c.Insert(&ale, &cla, &kasaun, &chamila)
checkError(err)
fmt.Println("findbyID")
var resultsID []Person
//err = c.FindId(bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")).One(&resultsID)
err = c.FindId(bson.M{"Id": bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")}).One(&resultsID)
checkError(err)
if err != nil {
panic(err)
}
fmt.Println("Phone:", resultsID)
fmt.Println("Queryingall")
var results []Person
err = c.Find(nil).All(&results)
if err != nil {
panic(err)
}
fmt.Println("Results All: ", results)
}
FindId(bson.M{"Id": bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")}).One(&resultsID)
没有为我工作,并给我以下输出
Inserting
Queryingall
Results All: [{ObjectIdHex("56bddee2cfa93bfe3d3504a1") Ale 555-5555} {ObjectIdHex("56bddee2cfa93bfe3d3504a2") Cla 555-1234-2222} {ObjectIdHex("56bddee2cfa93bfe3d3504a3") kasaun 533-12554-2222} {ObjectIdHex("56bddee2cfa93bfe3d3504a4") chamila 533-545-6784}]
findbyID
panic: not found
goroutine 1 [running]:
main.checkError(0x7f33d524b000, 0xc8200689b0)
我该如何解决这个问题?我需要使用oid获得价值并进行更新,我该怎么做
应该_id
不是Id
:
c.FindId(bson.M{"_id": bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")})
我有一个带有EditText的对话框,在那里,它要求一个钱包,用户写它。 之后,这个钱包应该存储在一个字符串中,但它说它是空的。 尝试在空对象引用上调用虚拟方法android.text.可编辑android.widget.EditText.getText() 如果我使用活动中的编辑文本,效果很好。但当我在EditText(eTW)对话框中执行时,它失败了。 这是我的密码。
问题内容: 我有下面的结构。我使用 Golang 1.9.2 。 一个 活动 (了解营销活动)是由 事件 或 地点 可以与(基本或溢价)的水平而提高。广告活动有开始日期和结束日期,推广活动也是如此。 函数必须返回给定事件的级别。 如果事件在 有效的广告系列中 被增强(is ),并且 增强被激活 (is )并且 现在日期在boost的开始日期和结束日期之间 ,则我的Event被 增强 ,因此该函数返
我想通过我提供的id从托管bean中找到一些。
我试图创建一个HTML编辑器(学习目的),我试图使程序尽可能动态。我希望通过它的id查找FXML变量,如TextField,并在按下按钮时检索TextField中的文本。 我设置了2个映射变量 我希望类似于通过ActionEvent获取按钮ID/值的方式。 编辑:以下是完整的FXML btw
我在MongoDB集合中有一个Json文档,我希望根据_id查询它。
问题内容: 我在mgo主页上浏览了该示例,但是我一直在努力寻找一种查询一系列值的方法。该行: 失败,带有: 我省去了不必要的代码… 问题答案: 该行: 需要更改为: