小编Tiy*_*ose的帖子

为什么 mongo 连接字符串中的“connect”选项没有记录?

问题是,即使我只针对连接字符串中副本集的一个节点,mongo-go-driver也总是希望发现并连接其他节点。

在这里找到了一个解决方案,基本上说我应该connect在连接字符串中添加选项。

mongodb://host:27017/authDb?connect=direct

我的问题是:这个做法有多好或多坏?为什么 mongo 没有记录,这个选项还有其他可用的值吗?

go mongodb

6
推荐指数
1
解决办法
6467
查看次数

在 MongoDB 中出现此错误,主进程已退出,代码=已终止,状态=6/ABRT,单元进入失败状态,失败,结果为“信号”

mongod.service - MongoDB 数据库服务器

已加载:已加载(/lib/systemd/system/mongod.service;已启用;供应商预设:已启用)

活动:自星期四 2020-11-05 10:10:10 CAT 起失败(结果:信号);1分56秒前

文档: https: //docs.mongodb.org/manual

Process: 9191 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=killed, signal=ABRT)
Main PID: 9191 (code=killed, signal=ABRT)

systemd[1]: Started MongoDB Database Server.

Nov 05 10:10:10 ZDR- systemd[1]: mongod.service: Main process exited, 
code=killed, status=6/ABRT

Nov 05 10:10:10 ZDR- systemd[1]: mongod.service: Unit entered failed state.

Nov 05 10:10:10 ZDR- systemd[1]: mongod.service: Failed with result 'signal'.
Run Code Online (Sandbox Code Playgroud)

mongodb node.js mongodb-query

5
推荐指数
0
解决办法
3305
查看次数

官方 mongo-go-driver UpdateOne 中 $set 的 bson 语法是什么

我试图熟悉官方mongo-go-driverUpdateOne.

我最简单的完整示例如下:

(注意:为了使用此代码,您需要替换为您自己的用户名和服务器名,并将登录密码作为 MONGO_PW 导出到环境中):

package main

import (
    "context"
    "fmt"
    "os"

    "go.mongodb.org/mongo-driver/bson"
    "go.mongodb.org/mongo-driver/bson/primitive"

    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
)

type DB struct {
    User       string
    Server     string
    Database   string
    Collection string
    Client     *mongo.Client
    Ctx        context.Context
}

var db = DB{
    User:       <username>,
    Server:     <server_IP>,
    Database:   "test",
    Collection: "movies",
    Ctx:        context.TODO(),
}

type Movie struct {
    ID          primitive.ObjectID `bson:"_id" json:"id"`
    Name        string             `bson:"name" json:"name"`
    Description string             `bson:"description" json:"description"`
}

func main() {
    if err := db.Connect(); err != nil …
Run Code Online (Sandbox Code Playgroud)

go mongodb

4
推荐指数
1
解决办法
1万
查看次数

dynamodbattribute.MarshalMap 返回空地图

我正在尝试编写一个非常简单的 Go 函数来将条目插入到 DynamoDB 表中。

我正在遵循 AWS 文档站点上提供的教程,但由于某种原因,函数dynamodbattribute.MarshalMap返回了一个空映射。

代码编译并运行,但在尝试插入记录时中断,因为它在映射中找不到所需的键。一个小的 println 动作显示映射是空的,即使它创建的结构不是。

任何帮助表示赞赏!

package main

import (
    "context"
    "fmt"

    "github.com/aws/aws-sdk-go/aws"

    "github.com/aws/aws-lambda-go/lambda"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/dynamodb"
    "github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute"
)

// Item Struct for Fruit Item
type Item struct {
    fruitID   int
    fruitName string
}

/*HandleRequest handles the lambda request.*/
func HandleRequest(ctx context.Context) (string, error) {
    // Initialize a session that the SDK will use to load
    // credentials from the shared credentials file ~/.aws/credentials
    // and region from the shared configuration file ~/.aws/config. …
Run Code Online (Sandbox Code Playgroud)

go amazon-dynamodb aws-lambda aws-sdk-go

4
推荐指数
1
解决办法
947
查看次数

如何在不使用 $facet 的情况下组合两个 MongoDB 聚合管道查询的结果并对组合结果执行另一个聚合查询?

在各种聚合管道阶段之后,我的第一个查询返回以下结果:

{ 
    "group" : "A",
    "count" : 6, 
    "total" : 20
},
{
    "group" : "B",
    "count" : 2,
    "total" : 50
}
Run Code Online (Sandbox Code Playgroud)

在各种聚合管道阶段之后,我的第二个查询返回以下结果:

{
    "group": "A",
    "count": 4,
    "total": 80
},
{
    "group": "C",
    "count": 12,
    "total": 60
}
Run Code Online (Sandbox Code Playgroud)

两个查询都在同一个集合上执行,但根据管道阶段对数据进行不同的分组和转换。

我的两个查询都使用不同的$match条件,具有各种管道阶段,包括$facet,$unwind,$group,$project和运算符,例如$map,$reduce,$zip,$subtract...

db.collection.aggregate([
{ $unwind...},
{ $match....},
{ $facet...},
...
])
Run Code Online (Sandbox Code Playgroud)

当我将$facet查询作为并行查询运行时,会出现以下错误(因为我已经$facet在现有查询中使用了):

$facet is not allowed to be used within a $facet stage
Run Code Online (Sandbox Code Playgroud)

预期输出:

我需要找到每个组的平均值。

为此,我需要组合两个查询的结果并对组合结果执行查询。

我的组合阶段应该是这样的:

{ 
    "group" : …
Run Code Online (Sandbox Code Playgroud)

merge aggregation mongodb mongodb-query aggregation-framework

3
推荐指数
1
解决办法
1675
查看次数

如何使用jq检查json是否包含另一个json?

我刚刚开始使用 jq,我需要使用 jq 检查给定的 json 是否存在于另一个 json 中?

假设这是我的json_input

{
  "info": {
    "values": [
      {
        "data": [
          {
            "name": "name",
            "value": "val"
          }
        ]
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我需要检查上面的 json 输入是否存在于以下内容中available_json

{
  "info": {
    "values": [
      {
        "data": [
          {
            "name": "name",
            "value": "val"
          },
          {
            "name": "name2",
            "value": "val2"
          },
          {
            "name": "name3",
            "value": "val3"
          }
        ],
        "key1":"val1",
        "key2":"val2"
      }
    ],
    "priority":1,
    "objects":[
      {
        "name":"a"}
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

json_input两个 json 都存储在变量中,并且应该根据任何(通用)报告任何给定输入的存在available_json。如何使用 jq …

bash shell json jq

0
推荐指数
1
解决办法
460
查看次数