文字列の配列から単一のアイテムを更新/置換しようとしています。どうすればmongodbでそれを行うことができますか?
mongodb バージョン >= 4、mongoose >= 5、および nodejs >= v12.2.0 を使用してみました。
これは私の更新です:
{
_id: bot._id,
intents: {
$elemMatch: {
name: "car",
examples: "blue",
},
},
},
{
$set: { 'intents.$[outer].examples.$[inner]': "yellow" },
},
{
arrayFilters: [
{ 'outer.name': "car" },
{ 'inner.examples': "blue" },
],
},
これは単一の文書です:
{
"_id" : ObjectId("5cff64bacea5f52b74cefd57"),
"name" : "a",
"language" : "en",
"userId" : "auth0|5ce2ce9fb0ada80ea32d7643",
"cloudBotId" : "4327a229-ec34-423e-b9ad-4778cf74b0a0",
"intents" : [
{
"examples" : [
"blue"
],
"name" : "car"
},
{
"examples" : [
"red"
],
"name" : "bike"
}
],
"__v" : 0
}
「青」を「黄色」に置き換えることを期待しています。