小编mic*_*ckl的帖子

验证 MongoDB ObjectId

有没有办法验证 MongoDB ObjectId而不实际访问 MongoDB 数据库?例如,字符串值"5c0a7922c9d89830f4911426"应该导致"true".

mongoose mongodb

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

MongoDB 投影参数在 findOne() 中不起作用

我正在尝试使用 findOne() 上的投影参数从文档 (stats) 中提取单个字段,但它似乎只是返回整个文档。我在 Node.js 中使用版本“mongodb”:“^3.4.1”

这是文档结构

{ _id: 5e563015fa9a1a0134cac3cb,
  username: 'user1',
  password: '1234',
  email: 'user@email.com',
  stats: 
   { totalViewed: 122,
     totalUnique: 4,
     tknow: 80,
     tdknow: 42,
     setCnt: 78 },
  progress: 
   [ { cardId: 1001, knowCnt: 3, dknowCnt: 4 },
     { cardId: 1016, knowCnt: 0, dknowCnt: 0 } ] }

Run Code Online (Sandbox Code Playgroud)

这是代码:

 var findOneDoc = function() {
        db.collection("testusers").findOne(
          { username: "user1" },
          { stats: 1 }, //field to return
          function(err, result) {
            if (err) {
              console.log("Error: ", err);
            }
            console.log("Success: ", …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js

9
推荐指数
1
解决办法
4041
查看次数

如何处理Elasticsearch中的复合词

我知道弹性搜索中有一个很好的复合词令牌过滤器,但我的问题有点不同.我想知道谷歌这样的搜索引擎如何处理像"邮局"或"客厅"这样的开放式复合词.如果您键入"邮局"而不是"邮局",您仍然会得到相同的结果.我希望在我的搜索引擎中使用elasticsearch有这样的功能.这个问题的解决方案是什么?我应该将邮局标记为一个令牌吗?如果是真的,怎么样?

java information-retrieval search-engine elasticsearch

6
推荐指数
0
解决办法
104
查看次数

在 MongoDB 中聚合不同的值

我有一个包含 18625 个集合的 mongodb 数据库。它有以下键:

    "_id" : ObjectId("5aab14d2fc08b46adb79d99c"), 
    "game_id" : NumberInt(4), 
    "score_phrase" : "Great", 
    "title" : "NHL 13", 
    "url" : "/games/nhl-13/ps3-128181", 
    "platform" : "PlayStation 3", 
    "score" : 8.5, 
    "genre" : "Sports", 
    "editors_choice" : "N", 
    "release_year" : NumberInt(2012), 
    "release_month" : NumberInt(9), 
    "release_day" : NumberInt(11)
Run Code Online (Sandbox Code Playgroud)

现在,我希望创建仅包含流派的另一个维度/集合。

如果我使用以下查询:

db.ign.aggregate([ {$project: {"genre":1}}, { $out: "dimen_genre" } ]);
Run Code Online (Sandbox Code Playgroud)

它生成了 18625 个集合,尽管只有 113 个不同的流派。

如何在此处应用 distinct 并获取仅具有不同 113 个值的流派的集合。我用谷歌搜索,它表明聚合和不同在 mongo 中不能一起工作。我也试过:db.dimen_genre.distinct('genre').length 这表明在维度_流派中,有 113 种不同的流派。

确切地说,如何从只有不同值的现有集合中创建集合。

我对 NoSQL 真的很陌生。

mongodb

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

如何在 MongoDB 中展开对象内的数组?

我有关于 MongoDB 的 unwind 操作符。

所以,我有这样的文件。

{
    "name": "abc",
    "report": {
        "_2019": {
            "May": {
                "_9": {
                    "DATA": [{
                            "image": "xyz.png",
                            "object": true
                        },
                        {
                            "image": "abc.png",
                            "object": true
                        }
                    ]
                },
                "_10": {
                    "DATA": [{
                            "image": "ejf.png",
                            "object": false
                        },
                        {
                            "image": "qwe.png",
                            "object": false
                        }
                    ]
                }
            },
            "June": {
                "_1": {
                    "DATA": [{
                        "image": "jsk.png",
                        "object": false
                    }]
                }
            }
        },
        "_2020": {
            "January": {
                "_30": {
                    "DATA": [{
                        "image": "hhg.png",
                        "object": false
                    }]
                }
            }
        } …
Run Code Online (Sandbox Code Playgroud)

database mongodb nosql aggregation-framework

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

如何从角度应用程序中的gulp任务访问rootPath集

我有以下任务来构建我的应用程序:

const app = new Metalsmith(config.styleguide.path.root);
app.use(
       msDefine({
           production: false,
           rootPath: '/'
       })
   );

app.use(
    msIf(
        gutil.env.config === 'release',
        msDefine({
            production: true,
            rootPath: '/styleguide/'
        })
    )
);
app.build(...);
Run Code Online (Sandbox Code Playgroud)

我需要访问rootPath应用程序中的from,例如:

import stuff from 'stuff';
export class IconCtrl ...
   ...
   _getIconPath(name: string, size: string): string {

      switch (this.version) {
        case 'current':
            return `${stuff.rootPath()}/current/icn-${name}-${size}.svg`;
        default:
            return `${stuff.rootPath()}/legacy/${name}.svg`;
      }
   }
   ...
Run Code Online (Sandbox Code Playgroud)

到目前为止,我还没有找到一个干净的方法.我不确定如何在应用程序内构建时访问应用程序配置.

javascript angularjs typescript gulp metalsmith

5
推荐指数
1
解决办法
410
查看次数

MongoDB 中的关系(使用 .Net)

mongoDB 中是否有使用 .Net 创建某种与“SQL-Join”等效的东西?我已阅读有关关系的 MongoDB 文档(https://docs.mongodb.com/manual/tutorial/model-referenced-one-to-many-relationships- Between-documents/ )..据我了解,您只需添加通过引用他们的 ID 来建立关系。然而..这是否也意味着对于每个关系,您还需要执行一个额外的查询?..

.net c# mongodb mongodb-query mongodb-.net-driver

5
推荐指数
1
解决办法
6136
查看次数

将JSON查询条件转换为MongoDB / Mongoose操作

我在客户端的Angular 8和NodeJS 12的服务器端使用MongoDB 4 / Mongoose 5构建应用程序。

我有一个由Angular查询构建器模块以JSON格式生成的查询。JSON对象将通过POST请求发送到后端。

问题:如何将JSON查询转换为MongoDB运算符以执行数据库查询?

这是由查询生成器插件生成的简单查询的示例。请注意“嵌套” AND / OR条件的多个级别的要求。

{
  "condition": "and",
  "rules": [
    {
      "field": "Brief_D_Reactiedatum",
      "operator": "!=",
      "value": "Eventtoets_Fn"
    },
    {
      "condition": "or",
      "rules": [
        {
          "field": "Alleen_AO",
          "operator": "=",
          "value": "Parkeerreden"
        }
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js

5
推荐指数
1
解决办法
228
查看次数

MongoDB 图表 – 图表累积增长?

使用MongoDB Charts,我如何绘制累积增长图表?使用_id包含创建时间信息的文档的值,我想绘制数据库中文档数量随时间变化的图表。例如,如果在 7 月创建了 10 个文档,而在 8 月又创建了 10 个,则图表应显示 7 月的 10 个和 8 月的 20 个。

按月划分文档创建日期很容易(见下面的例子),但我想把它变成一个累积增长图表。MongoDB Charts 可以使用 Mongo 聚合管道,如果这有帮助的话……

展示分箱日期的图表

mongodb aggregation-framework mongodb-atlas mongodb-charts

5
推荐指数
1
解决办法
1148
查看次数

BsonDateTimeOptions 不设置本地日期时间

虽然我用 装饰了我的Datetime财产BsonDateTimeOptions,但它仍然不起作用,时间插入到数据库中,比我的当地时间晚 3 小时。(我认为是 utc)
我的基础抽象类

public abstract class MongoBaseModel
{
    public ObjectId Id { get; set; }

    [BsonElement]
    [BsonDateTimeOptions(Kind = DateTimeKind.Local)]
    public DateTime InsertedAt{ get; set; }
} 
Run Code Online (Sandbox Code Playgroud)

我的实体

public class RockSongs:MongoBaseModel
{
    [BsonElement("Name")]
    public string Name { get; set; }

    [BsonElement("Singer")]
    public string Singer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

数据库版本 v4.2.1

MongoDb.Driver 2.7.2

c# mongodb mongodb-.net-driver asp.net-core

5
推荐指数
1
解决办法
1073
查看次数