当前位置: 首页 > 编程笔记 >

MongoDB查询添加一个新字段,并将价格(字段)结果除以其中的特定数字连接起来

有睿
2023-03-14
本文向大家介绍MongoDB查询添加一个新字段,并将价格(字段)结果除以其中的特定数字连接起来,包括了MongoDB查询添加一个新字段,并将价格(字段)结果除以其中的特定数字连接起来的使用技巧和注意事项,需要的朋友参考一下

要添加新字段,请使用MongoDB中的$addFields。让我们创建一个包含文档的集合-

> db.demo719.insertOne(
...    {
...       "Number":"7374644",
...       "details" : {
...          "otherDetails" : [
...             {
...                "ProductId" :"102",
...                "ProductPrice" : NumberInt(500)
...             },
...             {
...                "ProductId" :"103",
...                "ProductPrice" : NumberInt(2000)
...             }
...          ]
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eaae56c43417811278f5882")
}

在find()方法的帮助下显示集合中的所有文档-

> db.demo719.find();

这将产生以下输出-

{ "_id" : ObjectId("5eaae56c43417811278f5882"), "Number" : "7374644", "details" : { "otherDetails" : [ { "ProductId" : "102", "ProductPrice" : 500 }, { "ProductId" : "103", "ProductPrice" : 2000 } ] } }

以下是添加新字段并将价格结果除以其中的特定数字的查询-

> db.demo719.aggregate([
...    {
...       $addFields:{
...          productPriceList: {
...             $reduce: {
...                input: {
...                   $map: {
...                      input: "$details.otherDetails.ProductPrice",
...                      in: { $toString: { $divide: ["$$this", 5] } }
...                   }
...                },
...                initialValue: "",
...                in: { $concat: ["$$value", "$$this", " \n "] }
...             }
...          }
...       }
...    },
...    {
...       $project: {
...          _id: 0,
...          Number:1,
...          productPriceList:1
...       }
...    }
... ])

这将产生以下输出-

{ "Number" : "7374644", "productPriceList" : "100 \n 400 \n " }
 类似资料:
  • 如何查询从mongodb MapReduce生成的集合中的特定字段? 要只检索输出集合中的lastname字段,应输入什么字段? 结果应为: {“lastname”:“Doe”} >版本() 版本:2.2.2 >db.test.save({first:“john”,last:“doe”}) >db.test.find() {“_id”:ObjectId(“50bc001A8E97247957C60

  • 这是我在mongodb go驱动程序中的功能: 这个函数运行得很好,但我在结果中得到了字段。我知道mongodb查询可以从查询结果中排除字段,但我不知道如何将其与函数一起使用: 从tutorialspoint: db。删除DDEMO。查找({},{u id:0}); 来自没有字段名的mongodb查询结果 db.collection.find ({},{_id: 0,t_number: 1}).

  • 问题内容: 我有两个表:tbl_listings,其列为:prop_id; 另一个表:tbl_bookings,其列为:prop_id,booking_date。 我想编写一个查询,计算prop_id在tbl_bookings中出现的所有时间,然后用该查询的结果填充tbl_listings中的新列。 我的查询看起来像: 但由于某种原因,我收到一条错误消息:子查询返回多于1行。我该如何解决? 问题答

  • 我想计算两个字段的总和,然后在文档中创建新的字段,比如:“total sum”。但我不知道怎么做。都在MongoDB中。这里有一个例子:

  • 我不得不向现有文档添加一个新字段/s。 下面是用于测试目的的过程AddNewField。 我做错了什么? 在调用fmongo.update后,我的收藏现在有两个文档!

  • 问题内容: 在我的数据集中,一个文档包含20多个带有嵌套对象的字段。它们大多数是长文本字段。这些字段对于全文搜索很重要,但是我们只需要在输出中显示标题,简短描述和ID。 是否可以在ElasticSearch中为全文查询指定输出字段?(如MongoDB中的投影) 问题答案: 我认为您正在寻找搜索请求的属性: 允许有选择地为搜索命中表示的每个文档加载特定字段。默认情况下加载内部 字段。 这些字段将自动