NSPersistentCloudKitContainer/Core Data design approach

I'm using NSPersistentCloudKitContainer together with a private and public database. I have a public database with articles. Users should be able to like an article but I'm wondering what would be the best design approach to achieve this. The users can also add articles that they find online which are then automatically liked for the user adding it (and uploaded to the public database)

Question 1

I want you to be able to see how many people have liked an article, so I think there will perhaps be an array on the article with the userId who liked it and then you just do a count on it? Or do you think there is a better way?

Question 2

I am thinking about how the liked article should be "saved" for the user, either put that article in their private database, but then that article will be disconnected from the public article. Or I can filter out among the public articles that contain the user's userId (however, I'm a little unsure how it works in practice as the public database is polled every 30 minutes with NSPersistentCloudKitContainer) and when the user adds an article from some website then he wants that article to appear directly in the app.

NSPersistentCloudKitContainer/Core Data design approach
 
 
Q