udids
という配列フィールドがMeteor.users
スキーマにあります。これには一意の要素が含まれている必要があります。しかし、重複するキーエラーdupキーがあります:{:undefined}
new SimpleSchema({
...
udids: {
type: Array,
index: true,
unique: true,
optional: true,
sparse: true,
},
'udids.$': {
type: String,
},
...
})
私はアプリを起動したとき、私はこのエラーを得た:E11000 duplicate key error collection: meteor.users index: c2_udids dup key: { : undefined }
これは私がSimpleSchemaとCollection2を使用して索引を定義した方法です。
データベースのudids = undefined
の文書を検索しようとしましたが、db.users.find({ udids: { $type: 6 } })
($type: 6
の場合はundefined
の値)が返されますが、何も返されません。
[プロファイラを有効にする](https://docs.mongodb.com/manual/reference/method/db.setProfilingLevel/)は、競合の原因となる正確なクエリを確認してください。エラーメッセージが正確でない可能性があります。 –
あなたのスキーマによると、udidsは文字列の配列です。これは正しいです?そして、配列自体ではなく、個々のudids文字列をユニークにする必要がありますか? – blueren
@bluerenこれは私が欲しいものです: 'user1.udids = ['a'、 'b']'と 'user2.udids = ['b']'のような2人のユーザーがいれば、これは無効です2人のユーザーのウードイドは同じ 'b'要素を持っているためです。 – sonlexqt