如何使用Go驱动程序或Golang在Mongodb中插入javascritpt函数
问题描述:
我在mongodb官方网站中看到了下面的代码,在mongodb中插入了一个Javascript函数。如何使用Go驱动程序或Golang在Mongodb中插入javascritpt函数
db.system.js.save(
{
_id: "echoFunction",
value : function(x) { return x; }
}
)
链接: https://docs.mongodb.com/manual/tutorial/store-javascript-function-on-server/
我试着在mongoShell的程序和它的工作好。 现在,我想要使用golang将javascript函数存储到mongodb中。
我在gopkg.in/mgo.v2/bson package看到了下面的结构。
// JavaScript is a type that holds JavaScript code. If Scope is non-nil, it
// will be marshaled as a mapping from identifiers to values that may be
// used when evaluating the provided Code.
type JavaScript struct {
Code string
Scope interface{}
}
这是否与我的预期相关? 请分享你的知识。
答
以下是如何首先创建一个将返回bson.JavaScript
结构的函数:
func mongoNow() bson.JavaScript {
return bson.JavaScript{
// place your function in here in string
Code: "(new Date()).ISODate('YYYY-MM-DD hh:mm:ss')"
}
}
并插入到您的收藏:
c := mongoSession.DB("YourDB").C("YourCollection")
err := c.Insert(
struct{LastSeen interface{}}
{
LastSeen: mongoNow()
}
)
请不要忘记插入你适当import
包。
谢谢@GujaratSantana,我可以将函数存储在system.js集合中。我怎样才能执行js形式golang –
@hariprasad请看这里:http://*.com/questions/12008910/how-can-i-ask-mongodb-to-evaluate-some-javascript-in-order-to-获得价值为一 –
这是很好的参考,谢谢。我解决了它 –