如何使用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包。

+0

谢谢@GujaratSantana,我可以将函数存储在system.js集合中。我怎样才能执行js形式golang –

+0

@hariprasad请看这里:http://*.com/questions/12008910/how-can-i-ask-mongodb-to-evaluate-some-javascript-in-order-to-获得价值为一 –

+0

这是很好的参考,谢谢。我解决了它 –