Невозможно сохранить запись в Mongodb, используя Golang - PullRequest
1 голос
/ 14 апреля 2020

Я не могу сохранить некоторые записи, которые получены из одной базы данных и помещены в другую базу данных. Я объясняю свой код ниже.

func SyncOrders(order *models.Order) map[string]interface{} {
    logger.Log.Println("OrderRepository SyncOrders Begin")
    resourceManager := resources.ResourceManager{}
    session, error := driver.Connect()
    db := session.DB(config.Configuration.Database)
    var resp map[string]interface{}
    neworder := &models.Order{}
    //neworder = order
    neworder.FocusSync = false

    if error != nil {
        resp := utils.Message(resourceManager.GetProperty(constants.ERROR), resourceManager.GetProperty(constants.DB_SERVER_NOT_REACHABLE_CODE), resourceManager.GetProperty(constants.DB_SERVER_NOT_REACHABLE_DESC))
        return resp
    } else {
        var res []models.Order

        err := db.C(ORDERCOLLECTION).Find(nil).Select(bson.M{
            "_id":       0,
            "CreatedAt": 0,
            "CreatedBy": 0,
            "UpdatedAt": 0,
            "UpdatedBy": 0,
        }).Skip(0).Limit(1).All(&res)
        if err == nil {
            session1, error1 := driver.Connect()
            db1 := session1.DB(config.Configuration.Database1)
            if error1 != nil {
                resp := utils.Message(resourceManager.GetProperty(constants.ERROR), resourceManager.GetProperty(constants.DB_SERVER_NOT_REACHABLE_CODE), resourceManager.GetProperty(constants.DB_SERVER_NOT_REACHABLE_DESC))
                return resp
            } else {


                resp = utils.Message(resourceManager.GetProperty(constants.SUCCESS), resourceManager.GetProperty(constants.PRODUCT_GETBYID_CODE), resourceManager.GetProperty(constants.PRODUCT_GETBYID_DESC))
                resp["data"] = res
                neworder.Id = bson.NewObjectId()
                neworder.CreatedAt = time.Now()
                neworder.UpdatedAt = time.Now()
                neworder.OrderStatus = "Pending"
                neworder := res
                //fmt.Println(res["IsActive"])
                db1.C(SYNCORDERCOLLECTION).Insert(&neworder)
            }
        } else {
            //fmt.Println(err)
            resp = utils.Message(resourceManager.GetProperty(constants.ERROR), resourceManager.GetProperty(constants.PRODUCT_GETBYID_NOTFOUND_CODE), resourceManager.GetProperty(constants.PRODUCT_GETBYID_NOTFOUND_DESC))
        }
        defer session.Close()
        return resp
    }

}

Здесь я загружаю некоторые записи в ORDERCOLLECTION из Database, и моя цель - вставить те же записи в SYNCORDERCOLLECTION из Database1. Я могу получить все записи успешно, но не могу вставить эти записи в требуемую коллекцию другой БД. Кто-нибудь может помочь мне решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...