Using VectorSearch for one document only

As the title says, is there a way to use VectorSearch for one document only? Let me explain.

The documentation Atlas Vector Search docs demonstrate us a tutorial on how to implement the semantic vector search, it uses Indexes and Aggregation Pipelines to perform the search. This search only works for getting the semantic relation between all documents inside a collection.

My case is that, in my users collection, each user has embeddings associated with it. Is there a way to perform this vector search that MongoDB provides us but only searching in the user document embeddings array? or should I do it manually using my own semantic search implementation?

I was thinking that maybe it would be a good approach to save the all the users embeddings in another collection “allUsersEmbeddings”, each document associated with a key that defines from which user is that embedding, and then, filter only the user embeddings in that collection and perform the VectorSearch, by using ($match: user) or sth like that.

Also, does the semantic vector search is symmetric or asymmetric? can I change it?

Thank you in advance😁

Hello Bernardo,

Can you provide a bit more context here? Are you asking about having multiple vectors inside a single document and being able to search against all of them? Or are you asking about filtering down a set of documents that all have a single characteristic before then doing Vector Search?

We do not have support for querying across multiple vectors within a single document, but we are exploring how that could look, it would be great to understand more what you’re trying to do here.