次のようなドキュメントがあります。
{
"personName": "Some name",
"metaDetails": {
"visits": 1,
"otherMeta": 32
}
}
Mongoose
forを使用しNode.js
ます。訪問数を更新(または挿入)したいのですが。これが私がこれまでに持っているものです。$定位置演算子について読みましたが、かなり離れている可能性があります。
updObj = {}
newKeyString = "metaDetails.$.visits"
updObj[newKeyString] = 1
Person.update {personName: "Some name}, {$inc: updObj}, {upsert: true}, (err, updRes) ->
ただし、これは実際にドキュメントを更新または挿入するようには見えません。何か助けはありますか?
編集:モデルを追加しました
mongoose = require 'mongoose'
PersonSchema = new mongoose.Schema
personName:
type: String, index: true, unique: true
metaDetails: []
これが私のモデルです。metaDetails
内のデータは非常に可変である可能性があるため、意図的に配列以外に定義されていません