在我的nodeJS应用程序中,我查询mongoDB以获得特定数据库字段的不同值。这将返回一个大约包含3000个值的数组。
每个用户必须在每次会话中获取这些数据(因为这是运行应用程序不可或缺的一部分)。
我想知道为每个用户做这件事是不是更有效(更快):
db.collection.distinct({"value"}, function(data){
// save the data in a variable
})
或者我是否应该在服务器端加载不同的值(例如,一天一次),然后将其保存为数据库条目以供每个用户检索,如下所示:
// Server-side:
db
在mongodb上动态更改单个集合上的文本索引搜索是可能的吗?我最初在我的集合的first.text字段上有一个$text索引,但是当用户按下一个按钮时,我想切换到只允许在second.text字段上进行文本搜索。我知道在mongodb集合上一次只能创建一个文本索引。
为了简单起见,这里是我的集合模式的示例,我只想获得关于是否可以动态更改而不牺牲任何性能成本的反馈:
{
first : {
text : 'search here'
},
second : {
text : 'search ONLY here aft
我试图使用连接到Azure DocumentDB实例的c# MongoDB驱动程序创建多个唯一索引,但在尝试创建第二个唯一索引时,会收到以下异常:
MongoDB.Driver.MongoCommandException:‘命令createIndexes失败:消息:{“错误”:“唯一键数不能大于1”}
我似乎找不到任何关于Azure DocumentDB集合的唯一键数的文档。注意,在使用实际的MongoDB实例时不会出现此异常。
var keys = Builders<ProductEntity>.IndexKeys.Ascending(p => p.UPC);
var op
因此,我有以下查询:
SELECT
i.mongodb_id
FROM
display_list_lists dll
JOIN
display_lists dl
ON
dll.display_list_id = dl._id
JOIN
list_items li
ON
dll.list_id = li.list_id
JOIN
items i
ON
li.item_id = i._id
WHERE
dl.mongodb_id = ?
AND
dl.account_id =