0
「$非配列値に引っ張って適用することはできません」私は、以下のエンティティ&という名前のコレクションを持って、私は所有者IDが一致するエンティティを引くしようとしていますそれにスキーマのMongoDB更新クエリが返す
Entity {
Owner {
id
}
Tags [
{id :
name : }
{id :
name : }
]
}
ある&タグIDはエンティティからタグを削除します。
BasicDBObject query = new BasicDBObject("Tags.id", tagId).append("Owner.id", ownerId);
BasicDBObject updQuery = new BasicDBObject("$pull",
new BasicDBObject("Tags", new BasicDBObject("id", tagId)));
updQuery.update(query, updQuery, true);
エンティティはMongoJackDaoImplインスタンスです。
私はタグID &所有者のIDと一致する空の結果を引っ張るしようとすると、私は次の例外
com.mongodb.WriteConcernException: Write failed with error code 16836 and error message 'Cannot apply $pull to a non-array value'
at com.mongodb.operation.BaseWriteOperation.convertBulkWriteException(BaseWriteOperation.java:239)
を取得するには避けるように、更新クエリで、空の結果をチェックする方法はありますエラー?