具有字符串和字段值(连接)的Mongodb-Update字段

时间:2019-05-24 13:22:30

标签: mongodb

我在mongodb上运行一个更新查询,以将所有数组元素的值(现在是整数)替换为字符串,其中将包括文本和整数值(转换为字符串)

JSON文档现在看起来像: { "_id" : ObjectId("5ca2364a263756510c2922d7"), "ProviderOfferings" : [ 30, 3, 0, 0 ], "Cost" : 59, "Currency" : "EUR" }

我想将其更新为

{ "_id" : ObjectId("5ca2364a263756510c2922d7"), "ProviderOfferings" : [ "name:ingredient ,offeringUnit:30, Type:kilos" 3, 0, 0 ], "Cost" : 59, "Currency" : "EUR" }

我运行以下命令:

db.getCollection('Products').update ({"_id":ObjectId("5ca2364a263756510c2922d7")}, {$set:{"ProviderOfferings.0":{$concat:["name:ingredient ,offeringUnit:",{$substr: [{$arrayElemAt: [ "$ProviderOfferings", 0 ]}, 0, 2 ]}, " Type:kilos"]}}})

但是我得到了错误:

The dollar ($) prefixed field '$concat' in 'ProviderOfferings.0.$concat' is not valid for storage.

如何将$ set与$ concat一起使用,以便将字段更新为包含该字段的旧值的字符串值?

0 个答案:

没有答案