想知道从 Golang 对 mongodb 进行顺序查询的最佳方法是什么。 示例假设您有:
result *bson.M
ids:=["543d171c5b2c12420dd016","543d171c5b2dd016"]
oids := make([]bson.ObjectId, len(ids))
for i := range ids {
oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}
error:= c.Find(query).All(&result)
并且您想要获取 _ids 的输出并将其用作对另一个表的查询。 那么这是正确的吗?
query = bson.M{"_id": bson.M{"$in": result}}
最佳答案
下面是如何使用从其他查询返回的文档 ID 构建查询。
var docs []bson.M
if err := c.Find(query).All(&docs); err != nil {
// handle error
}
docIDs := make([]interface{}, len(docs))
for i := range docs {
docIds[i] = docs[i]["_id"]
}
query = bson.M{"_id": bson.M{"$in": docIDs}}
关于mongodb - 使用 golang 和 mongodb 进行顺序查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26448537/