2017-05-08 35 views
1

我在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{} 
} 

這是否與我的預期相關? 請分享你的知識。

回答

1

以下是如何首先創建一個將返回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://stackoverflow.com/questions/12008910/how-can-i-ask-mongodb-to-evaluate-some-javascript-in-order-to-獲得價值爲一 –

+0

這是很好的參考,謝謝。我解決了它 –

相關問題