我有一个url(资源)列表,以及每个资源的视图列表,所有这些都是
存储到mongodb数据库中。换句话说,resource
有许多关联的views
。
资源和视图都包含一个字段url
,我用它来识别资源和视图所在的网站。
我在var urls
中有一个网址列表,我想返回,对于每个网址,按相同顺序网址,只有一个与此网址相关联的观看次数。
因此有两个标准对我来说很有意思:
当然,我可以迭代我的代码并执行类似的操作(在python中):
views = []
for url in urls:
views.append(db.views.find_one({"url": url}))
我不知道$in
运算符是如何完全表现的,如果它可以解决我的问题,但我担心它不会保留我感兴趣的顺序。也许我可以对结果进行排序查询?
但这意味着对N个网址进行N次查询,这些查询似乎根本没有优化。有没有办法避免这种情况?
答案 0 :(得分:2)
不幸的是,这目前无法实现。 $ in没有订单保证(与db.test.save({a:1}); db.test.save({a:2}); db.test.find({a:{$in:[2,1]}})
验证),目前您只能对字段进行排序,而不是固定有序的值集。